Qual é a diferença entre rotas de coleta e rotas de membros no Rails?
Por exemplo,
resources :photos do
member do
get :preview
end
end
versus
resources :photos do
collection do
get :search
end
end
Eu não entendo
ruby-on-rails
ruby
never_had_a_name
fonte
fonte
fonte
search_photos_path
vez desearch_photos_url
para que as pessoas não pensem_path
e_url
são uma diferença entre os dois.A resposta de Theo está correta. Para fins de documentação, eu também gostaria de observar que os dois irão gerar ajudantes de caminho diferentes.
member {get 'preview'}
irá gerar:collection {get 'search'}
irá gerar:Observe a pluralidade!
fonte
1) : coleção - Adicione rotas nomeadas para outras ações que operam na coleção. Obtém um hash de
#{action} => #{method}
, onde método é:get/:post/:put/:delete
, uma matriz de qualquer um dos anteriores, ou: any, se o método não importa. Essas rotas são mapeadas para um URL como / users / customers_list , com uma rota de customers_list_users_url .2)
:member
- O mesmo que:collection
, mas para ações que operam em um membro específico.tratou como
/users/1;inactive=> [:action => 'inactive', :id => 1]
fonte