如何将嵌套路由资源添加到所有现有路由

时间:2014-06-04 18:57:22

标签: ruby-on-rails ruby-on-rails-4 routes paper-trail-gem

我正在使用一个名为paper_trail的伟大宝石。我创建了一个名为“history”的页面,它将列出任何资源的版本。我的路径文件有一个嵌套资源,用于每条路线......根本不是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作为所有路由的嵌套路由,而不用每个资源的嵌套历史记录路径填充我的路由文件?

1 个答案:

答案 0 :(得分:1)

您可以在一个区块中执行这些类型的操作,以避免一遍又一遍地重复自己。

resources :users, :companies do 
  get "history" => "pages#history", :on => :member
end

this SO question上提供了一些其他有用的信息。