est-il possible d'envoyer plusieurs chemins à la même ressource dans des rails? P>
Exemple: Route des deux "/ foo-barres" et "/ foo_bars" à ressource: foo_bars code> p> p>
3 Réponses :
Ceci peut fonctionner:
resources :foo_bars resources :foo_bars, path: "foo-bars", as: "foo-bars"
Y a-t-il un moyen de le faire sans définir la ressource deux fois? Avec des ressources imbriquées, cela deviendrait vite encombrant
La réponse / commentaire de BOGOZO est probablement la meilleure façon de faire routage de ressources imbriquées dans votre cas
Peut-être que vous préféreriez une redirection permanente à la place? Les navigateurs mettront la cache et éventuellement moins de problèmes de maintenance que vous aurez plus tard (1 path = 1 ressource est quelque chose que les programmeurs de rails prennent généralement pour acquis)
http://guides.rubyonrails.org/routing.html#redirection p>
Ce serait parfait, mais existe-t-il un moyen de le faire afin que les ressources imbriquées suivent également?
Je ne sais pas si vous pouvez le faire dans routes.rb code>, mais vous pouvez certainement le faire sur un filtre avant le contrôleur, vous pouvez demander sur un filtre avant si
demande.Path.begins_with ? ("/ foo_bars /") code> Demandez une redirection et renvoyez false pour arrêter la chaîne de filtre, je vais développer ma réponse demain si vous ne savez pas comment le faire
Vous pouvez également utiliser des ressources avec redirection. Ressources: Articles Ressources: histoires, à: Redirection ('/ Articles') Code>
resources :foo_bars, :foo-bars, controller: :foo_bars do # nested end This (not tested) should give you multiple sets of routes pointing to the same controller.