Хорошо, похоже, вы хотите установить перенаправление, которое будет применяться только к заданному пути и только одному HTTP-глаголу. Кажется, это то, что вы ищете:
#routers.rb
resources :users
match "/users/profile/:id" => redirect("/profiles/%{id}"), :via => :get
namespace "users" do
resources :profiles
...
end
На основании этих маршрутов каждый GET
запрос, попадающий в /users/profile/1
, будет перенаправлен на /profiles/1
, в то время как любые POST
, PUT
или DELETE
запросы не будут перенаправлены.
Параметр :via
будет выполнять перенаправление только в том случае, если метод запроса вычисляет указанное значение. Он также принимает массив глаголов, например, вы можете перенаправить :via => [:post, :put]
Если вы добавите более подробную информацию о конкретных нужных вам перенаправлениях, мы можем создать лучший пример.