Nom du segment par défaut dans le routage des ressources sur rails
-
05-07-2019 - |
Question
Je souhaite créer un itinéraire dans mon application rails dans le sens de
/panda/blog
/tiger/blog
/dog/blog
où panda, tigre et chien sont tous permaliens (pour une classe d’animaux)
La façon normale de faire cela
map.resources :animals do |animal|
animal.resource :blog
end
créerait des itinéraires le long des lignes de
/animals/panda/blog
/animals/tiger/blog
/animals/dog/blog
Mais je ne veux pas du premier segment, car ce sera toujours le même.
Je sais que je pourrais le faire par routage manuel, mais je veux savoir comment utiliser les ressources ferroviaires, car disposer d'animaux et de blogs est une nécessité pour moi.
La solution
Dans les rails 3.x, vous pouvez ajouter chemin = > ""
" vers n'importe quel appel ressource
ou ressources
pour supprimer le premier segment du chemin généré.
resources :animals, :path => ""
$ rake routes
animals GET / {:action=>"index", :controller=>"animals"}
POST / {:action=>"create", :controller=>"animals"}
new_animal GET /new(.:format) {:action=>"new", :controller=>"animals"}
edit_animal GET /:id/edit(.:format) {:action=>"edit", :controller=>"animals"}
animal GET /:id(.:format) {:action=>"show", :controller=>"animals"}
PUT /:id(.:format) {:action=>"update", :controller=>"animals"}
DELETE /:id(.:format) {:action=>"destroy", :controller=>"animals"}
Autres conseils
Vous pouvez utiliser ce plugin:
Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow