我想将所有控制器及其视图分组到文件夹中,例如“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
所有前三个控制器都继承自admin_main,它继承自应用程序
有关阅读/检查内容的任何建议吗?
答案 0 :(得分:9)
如果执行rake routes
,您会注意到所有控制器的名称都以'admin /'为前缀。
因为您将控制器移动到目录“admin”,所以应该为每个控制器添加一个命名空间。例如:
class Admin::AdminMainController < ActionController::Base
end
检查您的控制器,视图和帮助程序,更新所有相关路径和控制器名称。