【问题标题】:Ruby on Rails: Is it possible to DRY up routes?Ruby on Rails:是否可以干燥路线?
【发布时间】:2010-09-01 10:27:55
【问题描述】:

我将嵌套资源“resources :cmets”添加到很多父资源中,如下所示(使用 Rails 3):

resources :cusines do
  resources :comments
end

resources :recipes do
  resources :comments
end

resources :chefs do
  resources :comments
end

resources :countries do
  resources :comments
end

etc., etc., etc.

由于我有大约 10 个与上述类似的,我认为它不是很干燥。是否有可能以某种方式干燥我的路线,将 cmets 资源嵌套在所有需要的资源中(也就是说,我不必每次都输入“resources :cmets”)?

【问题讨论】:

    标签: ruby-on-rails ruby


    【解决方案1】:

    您可以遍历您希望 cmets 使用的各种内容并定义资源,例如:

    [:cuisines, :countries, :recipes, :chefs].each do |r|
      resources r do
        resources :comments
      end
    end
    

    【讨论】:

    • 太棒了!非常感谢 Shadwell 的提示 :)
    猜你喜欢
    • 2015-02-13
    • 1970-01-01
    • 2011-02-15
    • 2011-10-26
    • 1970-01-01
    • 2014-02-06
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多