我正在尝试构建一个 RESTful 应用程序来实际管理多种可配置对象,因此有大量的“资源”类型,因此有很多控制器。我仍处于 POC 阶段,所以如果我可以在第一个导航页面中显示所有控制器,那就太好了,那么有什么简单的方法(可编程)可以做到这一点吗?
在 Rails 3.1+ 中:
Rails.application.routes
如果您的routes.rb 文件中有它们的路径,这将为您提供所有控制器、操作及其路线。
例如:
routes= Rails.application.routes.routes.map do |route|
{alias: route.name, path: route.path, controller: route.defaults[:controller], action: route.defaults[:action]}
end
更新:
对于 Rails 3.2,Journal 引擎路径发生了变化,因此代码变为:
routes= Rails.application.routes.routes.map do |route|
{alias: route.name, path: route.path.spec.to_s, controller: route.defaults[:controller], action: route.defaults[:action]}
end
更新:
仍在为 Rails 4.2.7 工作。要提取控制器列表(每个实际问题),您可以简单地提取控制器并uniq
controllers = Rails.application.routes.routes.map do |route|
route.defaults[:controller]
end.uniq
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)