Attention toutefois à ne pas oublier que tout paramètre récupéré devrait
être traité/nettoyé/analysé. Et plus tu autorises de paramètres dans l'url,
plus tu as des chances d'ouvrir des cas/effets de bord auxquels tu n'auras
pas pensé.


Le 15 janvier 2013 11:05, oto iashvili <[email protected]> a
écrit :

> salut,
>
> merci pour ta réponse. Je suis donc allé regarder du coté de friendly_id.
> C'est vraiment bien, mais j'aimerais pouvoir recuperer les differents
> elements de l'url dans des variables plutot que de stocker les slug en dur
> dans la bdd.
>
> Le lundi 14 janvier 2013 16:17:51 UTC+1, Julien Grillot a écrit :
>>
>> C'est tout à fait possible.
>>
>> Je conseille la gem friendly_id pour éviter tous ces -3 -4 -34 -56.
>> Ainsi 
>> /petites-annonces/immobilier-**3/location-4/lille-34/vends-**ma-voiture-56
>>
>> devient /petites-annonces/immobilier/**location/lille/vends-ma-**voiture
>> (friendly_id gère correctement les collisions de nom).
>>
>> Exemple pour une route (j'omet l'i18n) :
>> Dans config/routes.rb : get
>> "/petites-annonces/:cat_id/:**souscat_id/:ville_id/:annonce_**id =>
>> "annonces#show"
>> Puis dans le contrôleur : Categorie.find(params[:cat_id]**)
>>
>> Julien
>>
>> Le 14 janvier 2013 15:32, oto iashvili <[email protected]> a écrit
>> :
>> > Bonjour,
>> >
>> > jaimerai avoir des routes du genre
>> > /en/petites-annonces/**immobilier-3/location-4/lille-**34/vends-ma-voiture-56
>> =>
>> > controller annonce#show avec cat_id=3, cat_nom = immobilier,
>> souscat_id=4,
>> > souscat_nom = location, vil_id=34, vil_nom = lille et annonce_id = 56
>> > /en/petites-annonces/**immobilier-3/location-4/lille-**34/vends-ma-voiture-56/edit
>>
>> > => controller annonce#edit avec cat_id=3, cat_nom = immobilier,
>> > souscat_id=4, souscat_nom = location, vil_id=34, vil_nom = lille et
>> > annonce_id = 56
>> > /en/petites-annonces/**immobilier-3/location-4/lille-**34/new =>
>> controller
>> > annonce#new avec cat_id=3, cat_nom = immobilier, souscat_id=4,
>> souscat_nom =
>> > location, vil_id=34, vil_nom = lille
>> > /en/petites-annonces/**immobilier-3/location-4/lille-**34/ =>
>> controller
>> > annonce#index avec cat_id=3, cat_nom = immobilier, souscat_id=4,
>> souscat_nom
>> > = location, vil_id=34, vil_nom = lille
>> > /en/petites-annonces/**immobilier-3/location-4/new => controller
>> annonce#new
>> > avec cat_id=3, cat_nom = immobilier, souscat_id=4, souscat_nom =
>> location
>> > /en/petites-annonces/**immobilier-3/location-4/ => controller
>> annonce#index
>> > avec cat_id=3, cat_nom = immobilier, souscat_id=4, souscat_nom =
>> location
>> > /en/petites-annonces/**immobilier-3/new => controller annonce#new avec
>> > cat_id=3, cat_nom = immobilier
>> > /en/petites-annonces/**immobilier-3/ => controller annonce#index avec
>> > cat_id=3, cat_nom = immobilier
>> > /en/petites-annonces/new=> controller annonce#new
>> > /en/petites-annonces/=> controller annonce#index
>> >
>> > est ce possible ?
>> >
>> > merci
>> >
>> > --
>> > 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
>> > railsfrance...@**googlegroups.com
>>
>  --
> 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]
>

-- 
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 à