Quelle est la différence entre la collection routes et membre dans les Rails ?
Par exemple,
par rapport à
Je ne comprends pas.
Quelle est la différence entre la collection routes et membre dans les Rails ?
Par exemple,
par rapport à
Je ne comprends pas.
Un itinéraire de membre nécessitera un ID, car il agit sur un membre . Une route de collection ne fonctionne pas parce qu'elle agit sur une collection d'objets. L'aperçu est un exemple de route membre, car il agit sur (et affiche) un seul objet. La recherche est un exemple de route de collection, car elle agit sur (et affiche) une collection d'objets.
URL Helper Description
----------------------------------------------------------------------------------------------------------------------------------
member /photos/1/preview preview_photo_path(photo) Acts on a specific resource so required id (preview specific photo)
collection /photos/search search_photos_url Acts on collection of resources(display all photos)
La réponse de Theo est correcte. Pour la documentation, je voudrais également noter que les deux généreront des aides de chemin différents.
member {get 'preview'}
générera:
preview_photo_path(@photo) # /photos/1/preview
collection {get 'search'}
générera:
search_photos_path # /photos/search
Noter la pluralité!
1) :la collection - Ajouter des routes nommées pour d'autres actions qui se déroulent sur la collection. Prend un algorithme de hachage #{action} => #{method}
, où la méthode est - :get/:post/:put/:delete
, un tableau de l'un des précédente, ou :tout si la méthode n'a pas d'importance. Ces itinéraires à la carte à l'URL /users/customers_list, avec un itinéraire de customers_list_users_url.
carte.ressources :utilisateurs :collection => { :customers_list=> :obtenir }
2) :member
- Mêmes en tant que :collection
, mais pour des actions qui fonctionnent sur un
membre spécifique.
carte.ressources :utilisateurs :membres => { :inactif=> :post }
elle traitée comme /users/1;inactive=> [:action => 'inactive', :id => 1]
Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.