Rails3 Routes - Передача параметра в маршрут участника - PullRequest
28 голосов
/ 24 ноября 2010

Я хотел бы передать дополнительный параметр в маршрут участника ресурса

что-то вроде:

resources :events do
  member do
    get 'register/:participant_type_id'
  end
end

Я мог сделать это только с помощью оператора статического совпадения

Просматривая Интернет, я увидел, что это возможно в Rails 3.0.2. Я использую 3.0.1, и это не так.

Я что-то не так делаю? или это действительно невозможно?

спасибо

Ответы [ 2 ]

40 голосов
/ 24 ноября 2010

Попробуйте это:

resources :events do
  member do
    get 'register/:participant_type_id', :action => 'register'
  end
end
17 голосов
/ 02 апреля 2012

Просто чтобы завершить ответ своими маленькими находками.Это также смутило меня довольно долго.

В Rails3 маршрут участника с параметрами не будет иметь автоматически сгенерированного помощника xx_yy_path.Вы должны добавить его, указав часть :as =>, пропустив имя resources.

Что касается предоставленного примера, чтобы получить register_event_path и register_event_url, вам нужно определить его следующим образом:

resources :events do
  member do
    get 'register/:participant_type_id', :action => 'register', :as => 'register'
  end
end
...