2011-11-14 46 views
0

我需要创建一个默认路由我的应用程序:的Rails 3控制器默认路由在自定义目录

match '/:controller(/:action(/:id))' 

的事情是,我的控制器位于不同的文件夹,例如:

/myapp/app/controller/admin/base_controller.rb 

但是,Rails似乎无法识别这些控制器与我的默认路由,但它确实识别控制器,如果它在'myapp/app/controller/some_controller.rb'中。

回答

0

我认为你需要添加一个命名空间为每个目录,包含内的默认路由:

namespace :admin do 
    match '/:controller(/:action(/:id))' 
end 

namespace :something_else do 
    match '/:controller(/:action(/:id))' 
end 

你也许可以做到这一点编程,通过检查你的目录结构,使用DIR和文件类。无论哪种情况,我建议不要使用默认路线,除非您有充足的理由这样做。