2012-08-31 2 views
8

Possible en double:
Rails: How do I pass custom params to a controller method?passage de paramètre à l'action du contrôleur par des voies

Je me demande si possible de passer le paramètre de contrôleur d'action par des voies. J'ai une méthode d'action générique que je veux appeler pour différentes routes. Non, je ne peux pas utiliser de joker sur mon itinéraire.

match '/about' => 'pages#show' 
match '/terms' => 'pages#show' 
match '/privacy' => 'pages#show' 

Je cherche quelque chose comme:

match '/about' => 'pages#show', :path => "about" 
match '/terms' => 'pages#show', :path => "terms" 
match '/privacy' => 'pages#show', :path => "privacy" 

Merci.

+0

Cocher cette question http://stackoverflow.com/questions/12150254/rails -comment-je-passe-custom-params-to-a-controller-method/12150277 # 12150277 – 8vius

+0

Ce n'est pas du tout une copie de cette autre question. – gregates

+0

Ne pas dupliquer du tout. – hlcs

Répondre

14

Essayez

match '/about' => 'pages#show', :defaults => { :id => 'about' } 
match '/terms' => 'pages#show', :defaults => { :id => 'terms' } 
match '/privacy' => 'pages#show', :defaults => { :id => 'privacy' } 

si vous ne pouvez pas pour une raison quelconque il suffit de suivre la convention standard de

match '/:id' => 'pages#show' 
+1

Fonctionne également avec les étendues: 'scope: user, as: 'user', par défaut: {scope:: user} do'. – hlcs

Questions connexes