В направляющих 2 мы можем добавить пользовательский new
действия к находчивым маршрутам, как:
map.resources :users, :new => {:apply => :get}
Как мы достигаем того же самого в направляющих 3?
resources :users do
get :apply, :on => :new # does not work
new do
get :apply # also does not work
end
end
Какие-либо идеи?
Вы можете использовать :path_names
, как объясняется в руководстве по маршрутизации границ:
resources :users, :path_names => { :new => "apply" }
Это только изменит путь на apply
, он все равно будет направлен к new
действию. Я не думаю, что изменение этого пути поддерживается в явном виде (что, вероятно, хорошо).
Если вы хотите сохранить действие apply
, вам, вероятно, стоит это сделать:
resources :users, :except => :new do
collection do
get :apply
end
end
Но это заставляет задуматься, не лучше ли просто переименовать действие apply
в new
.
Попробуйте следующее:
resources :users, :path_names => { :new => 'apply' }
Обратите внимание, что если вы хотите переназначить новый
маршрут на , примените
для всех ваших маршрутов, тогда вы можете использовать область действия:
scope :path_names => { :new => 'apply' } do
# The rest of your routes go here...
end