2012-08-31 5 views
8

Можно создать дубликат:
Rails: How do I pass custom params to a controller method?Передача параметров в контроллер действия по маршрутам

Я интересно, если это возможно передать параметр на контроллер действия через маршруты. У меня есть один общий метод действий, который я хочу вызвать для разных маршрутов. Нет, я не могу использовать подстановочный знак на своем маршруте.

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

Я ищу что-то вроде:

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

Спасибо.

+0

Проверьте этот вопрос http://stackoverflow.com/questions/12150254/rails -how-do-i-pass-custom-params-to-a-controller-method/12150277 # 12150277 – 8vius

+0

Это совсем не дубликат этого другого вопроса. – gregates

+0

Не дублируется вообще. – hlcs

ответ

14

Попробуйте

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

если вы не можете по каким-то причинам просто следовать стандартному соглашению о

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

Также работает с областями: 'scope: user, as: 'user', defaults: {scope:: user} do'. – hlcs

Смежные вопросы