Jaka jest różnica między trasami zbierania a trasami członków w Railsach?
Na przykład,
resources :photos do
member do
get :preview
end
end
przeciw
resources :photos do
collection do
get :search
end
end
Nie rozumiem.
ruby-on-rails
ruby
never_had_a_name
źródło
źródło
źródło
search_photos_path
zamiast,search_photos_url
aby ludzie nie myśleli_path
i_url
są różnicą między nimi.Odpowiedź Theo jest poprawna. Ze względu na dokumentację chciałbym również zauważyć, że te dwa generują różne pomocniki ścieżki.
member {get 'preview'}
wygeneruje:collection {get 'search'}
wygeneruje:Zwróć uwagę na wiele!
źródło
1) : kolekcja - dodaj nazwane trasy dla innych działań, które działają na kolekcji. Pobiera skrót
#{action} => #{method}
, gdzie metoda jest:get/:post/:put/:delete
, tablicy dowolnej z poprzednich lub: dowolna, jeśli metoda nie ma znaczenia. Trasy te są mapowane na adres URL taki jak / users / users_list , z trasą customer_list_users_url .2)
:member
- To samo co:collection
, ale dla akcji, które działają na określonym elemencie.traktowane jak
/users/1;inactive=> [:action => 'inactive', :id => 1]
źródło