Rails 3 route dynamique


#1

Bonjour

Mon probleme est simple :

J’ai un lien link_to qui envoie vers
“products/category/#{category.id}/#{category.name}”

J’aimerais que ca appelle products/index mais je veux que dans l’url ce
soit visible comme ca “products/category/#{name}”.

Utilisant rails 3, j’ai essaye instinctivement ca :

match “products/category/:id/:name”, :to => “products#index”, :as =>
“products/category/#{name}”

Mais le server ne se lance pas a cause de la variable dynamic dans :as
J’ai cherche plusieurs tuto qui pourraient invoque une syntaxe mais ca
se trouve je me trompe complemente de voie.

Merci d’avance


#2

Tu ne peux pas faire ça. Le fichier routes.rb n’est lu qu’une seule fois
au démarrage du serveur en production.

C’est quoi ton #{name}? Parce que je vois :id/:name

http://digiprof.tv


#3

J’ai opte pour cette solution :

match “products/category/:id/:name” => “products#index”, :as =>
:product_category

Dans ma vue j’apelle de cette facon : product_category(1, ‘foo’)