Почему некоторые из моих помощников пути Rails имеют суффикс _index?
У меня есть определение маршрута Rails, которое выглядит примерно так:
namespace :admin do
resources :feeds
resources :push
end
rake routes
генерирует для него следующий результат:
admin_feeds GET /admin/feeds {:controller=>"admin/feeds", :action=>"index"}
admin_push_index GET /admin/push {:controller=>"admin/push", :action=>"index"}
Почему бы хелпер пути для push
получить суффикс _index
, но не feeds
?
Ответы
Ответ 1
Все это основано на множестве ресурсов. Поэтому, если имя ресурса является множественным, тогда ему не нужно добавлять суффикс _index
с момента его вывода.
Если это уникальное имя ресурса, то он добавляет суффикс для пояснения, поскольку admin_push
обычно является действием show
вместо действия index
.
Ответ 2
Вы также можете использовать
resource :push
вместо
resources :push
чтобы указать особый ресурс. См. http://api.rubyonrails.org/classes/ActionDispatch/Routing.html