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]
