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

时间:2010-11-24 20:05:38

标签: ruby-on-rails ruby-on-rails-3 routes custom-routes

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

类似的东西:

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

我只能使用静态匹配语句

来完成它

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

我做错了吗?还是真的不可能?

感谢

2 个答案:

答案 0 :(得分:40)

试试这个:

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

答案 1 :(得分:17)

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

在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
相关问题