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.

Était-ce utile?

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

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top