Le 9 octobre 2008 17:13, Guillaume Morain a écrit :

> Juste que les utilisateurs potentiels ne puissent pas attaquer mon
> controller "manufacturer" par deux urls.
>
> Encore une fois c'est pas la mort, mais je pensais que le path_prefix
> limitait justement la route par défaut pour n'utiliser que l'url avec
> prefix.
>
> Je vais aller repotasser le truc car du coup je ne vois plus trop
> l'interet du path_prefix :-)

Mais ton diagnostic premier est bon.

GET /settings/manufacturers

est intercepté par un des routes définies par :

map.resources :manufacturers, :path_prefix => "settings"

Quand tu as un GET /manufacturers, ça commence pas par /settings
donc ça a peu de chance de se faire intercepté par une des routes
définies par le map.resources de ci-dessus.

puis Rails va vérifier si la route GET ':controller/:action/:id'
matche GET /manufacturers, ce qui est le cas
et c'est donc ManufacturersController#index qui va gérer l'affaire.

Donc si tu dégages la route par défaut, GET /manufacturers
ne se fera pas matché, c'est ce que tu veux.

It's simple as that.

   -- Jean-François.

Ce n'est pas tant l'option :path_prefix qui limite la route par
défaut, c'est que ça modifie les routes restful de telle sorte
que le bébé est refilé à la route par défaut.

Ce qui tombe bien, comme je viens de l'écrire, virer la route
par défaut c'est une bonne chose.

   -- Jean-François.

-- 
Les 50 ans du Lisp : http://www.lisp50.org

http://twitter.com/underflow_

--~--~---------~--~----~------------~-------~--~----~
Vous avez reçu ce message, car vous êtes abonné au groupe "Railsfrance" de 
Google Groups.
Pour transmettre des messages à ce groupe, envoyez un e-mail à l'adresse 
[email protected]
Pour résilier votre abonnement envoyez un e-mail à l'adresse [EMAIL PROTECTED]
-~----------~----~----~----~------~----~------~--~---

Répondre à