【问题标题】:Rails3 Routes - Passing parameter to a member routeRails3 Routes - 将参数传递给成员路由
【发布时间】:2010-11-24 20:05:37
【问题描述】:

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

类似:

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

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

环顾互联网,我发现这在 Rails 3.0.2 中是可能的。我使用的是 3.0.1,但肯定不是。

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

谢谢

【问题讨论】:

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


【解决方案1】:

只是用我的小发现来完成答案。这也让我困惑了好一阵子。

在 Rails3 中,带参数的成员路由不会有自动生成的xx_yy_path helper。您需要添加它提供:as => 部分,省略resources 名称。

关于提供的示例,要获取register_event_pathregister_event_url,您需要将其定义如下:

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

【讨论】:

  • 如何在注册操作中获取事件ID?
  • @lessless 在resources :eventsmember 内我相信代表event idid 参数会自动在生成的路径中。
【解决方案2】:

试试这个:

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

【讨论】:

  • 我不知道,我只是提供我的应用程序告诉我它丢失的任何内容。它说'缺少行动',我给他们行动。
猜你喜欢
  • 2011-10-12
  • 2023-03-20
  • 2019-03-03
  • 2018-08-14
  • 2017-07-31
  • 2020-02-06
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多