Rails3路由 – 将参数传递给成员路由

我想将一个额外的参数传递给资源的成员路由

就像是:

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

我只能使用静态匹配语句来完成它

环顾互联网,我发现在Rails 3.0.2中这可能是可行的。 我使用的是3.0.1而且它不是。

难道我做错了什么? 还是真的不可能?

谢谢

试试这个:

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

只是用我的小发现完成答案。 它也困扰了我很长一段时间。

在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