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
并检查您的控制器,视图和帮助程序,更新所有相关路径和控制器的名称。