我需要为我的应用程序创建一个默认路由:
match '/:controller(/:action(/:id))'
问题是我的控制器位于不同的文件夹中,如下所示:
/myapp/app/controller/admin/base_controller.rb
但是,Rails似乎没有使用我的默认路由识别这些控制器,但它确实识别出一个控制器,如果它在'myapp / app / controller / some_controller.rb'中。
答案 0 :(得分:0)
我认为您需要为每个目录添加一个名称空间,其中包含以下内容中的默认路由:
namespace :admin do
match '/:controller(/:action(/:id))'
end
namespace :something_else do
match '/:controller(/:action(/:id))'
end
您可以通过使用Dir和File类检查目录结构以编程方式执行此操作。在任何一种情况下,我建议不要使用默认路由,除非你有充分的理由这样做。