В чем разница между маршрутами сбора и маршрутами членов в Rails?
Например,
resources :photos do
member do
get :preview
end
end
против
resources :photos do
collection do
get :search
end
end
Я не понимаю
ruby-on-rails
ruby
never_had_a_name
источник
источник
источник
search_photos_path
вместо того,search_photos_url
чтобы люди не думали_path
и_url
разница между ними.Тео ответ правильный. Ради документации, я хотел бы также отметить, что эти два будут генерировать разные помощники пути.
member {get 'preview'}
сгенерирует:collection {get 'search'}
сгенерирует:Обратите внимание на множественность!
источник
1) : collection - добавить именованные маршруты для других действий, которые работают с коллекцией. Принимает хеш
#{action} => #{method}
, где метод является:get/:post/:put/:delete
, массивом любого из предыдущих или: any, если метод не имеет значения. Эти маршруты отображаются на URL-адрес, такой как / users / Customers_list , с маршрутом customer_list_users_url .2)
:member
- То же, что:collection
и для действий, которые действуют на конкретного участника.это рассматривается как
/users/1;inactive=> [:action => 'inactive', :id => 1]
источник