【发布时间】:2014-07-25 13:49:12
【问题描述】:
我正在使用一个很棒的 gem,叫做 paper_trail。我创建了一个名为“历史”的页面,其中将列出任何资源的版本。我的路线文件有一个用于每条路线的嵌套资源......这根本不是 DRY。
resources :users do
get "/history" => "pages#history", as: "history"
end
这条路线给了我 users/1/history
resources :companies do
get "/history" => "pages#history", as: "history"
end
现在我有公司/1/历史
如何使 /history 作为所有路由的嵌套路由工作,而不用每个资源的嵌套历史路径填充我的路由文件?
【问题讨论】:
-
你得到这个答案了吗?您也可以发布您的控制器吗?
-
我还没有找到我正在寻找的“rails way”。我的控制器在这个问题中并不重要......这会影响每个控制器。我采用@jkeuhlen 块建议的方式是创建一个包含所有模型的数组,然后遍历该数组并将数组中的字符串值转换为符号,并为数组中的每个模型构建一个动态历史路由资源。希望这是有道理的。它有点干净......但是,不是我希望找到的“rails way”。
标签: ruby-on-rails ruby-on-rails-4 routes paper-trail-gem