Rails 4:将控制器分组到一个文件夹中

我想将所有控制器及其视图分组到文件夹中,例如“admin”下

这就是我做的:
(1)我将所有controllers移动到文件夹admin
(2)我将所有views移动到文件夹admin

(3)我在Rails指南中读到我应该这样做:

 scope module: 'admin' do resources :admin_permissions, :admin_layout, :admin_db end 

但我不断收到错误

 ActionController::RoutingError at /admin_permissions/index uninitialized constant AdminMainController 

目录结构:

 controllers -> admin -> admin_main_controller -> admin_permissions_controller -> admin_layouts_controller -> admin_db_controller views -> admin -> admin_main -> admin_permissions -> admin_layouts -> admin_db 

所有前三个控制器都inheritance自admin_main,它inheritance自应用程序

有关阅读/检查的建议吗?

如果执行rake routes ,您会注意到所有控制器的名称都以“admin /”为前缀。

因为您将控制器移动到目录“admin”,所以应该为每个控制器添加一个命名空间。 例如:

 class Admin::AdminMainController < ActionController::Base end 

并检查您的控制器,视图和帮助程序,更新所有相关路径和控制器的名称。