web-dev-qa-db-ja.com

Rails3Routes-メンバールートへのパラメーターの受け渡し

リソースのメンバールートに追加のパラメーターを渡したい

何かのようなもの:

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

静的なmatchステートメントを使用してのみそれを達成できました

インターネットを見回すと、これはRails 3.0.2。私は3.0.1を使用していますが、実際にはそうではありません。

私は何か間違ったことをしていますか?それとも本当に不可能ですか?

ありがとう

28
Diogo

これを試して:

resources :events do
  member do
    get 'register/:participant_type_id', :action => 'register'
  end
end
40
Fábio Batista

私の小さな発見で答えを完成させるためだけに。それはまた私をかなり長い間混​​乱させました。

Rails3では、パラメーターを含むメンバールートには、自動生成されたxx_yy_pathヘルパーがありません。 :as =>の部分を指定して追加する必要があり、resourcesの名前は省略します。

提供されている例に関して、register_event_pathregister_event_urlを取得するには、次のように定義する必要があります。

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