【问题标题】:Resources with dynamic segments具有动态细分的资源
【发布时间】:2014-07-06 18:36:06
【问题描述】:

在我的 rails 4 应用程序中,我有以下代码:

 get "products/:token" => "products#show"
 delete "products/:token" => "products#destroy"
 ... (for each HTTP method)

我已经阅读了http://guides.rubyonrails.org/routing.html,但不知道是否有办法:

resources :products

并让它默认为 :token 段而不是 :id。

我试过这个:

def to_param
  token
end

但这似乎不起作用

【问题讨论】:

    标签: ruby-on-rails ruby ruby-on-rails-4


    【解决方案1】:

    您应该能够使用param 选项定义参数键,如下所示:

    resources :products, param: :token
    

    这会给你param[:token]而不是param[:id]

    【讨论】:

    • 非常感谢!这应该添加到 Rails 指南中
    【解决方案2】:

    如果您要覆盖 to_param 方法,那么您将需要使用 :id,因为这是 to_param 使用的。所以把:token改成:id

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2021-10-13
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-12-14
      相关资源
      最近更新 更多