Ruby on rails Rails 4:在文件夹中对控制器进行分组

Ruby on rails Rails 4:在文件夹中对控制器进行分组,ruby-on-rails,Ruby On Rails,我想将所有控制器及其视图分组到文件夹中,例如“admin”下 这就是我所做的: (1) 我将所有控制器移动到文件夹admin (2) 我将所有的视图移动到文件夹admin (3) 我在Rails指南中读到我应该这样做: scope module: 'admin' do resources :admin_permissions, :admin_layout, :admin_db end 但我一直在犯错误 ActionController::RoutingError at /admin_per

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

这就是我所做的:
(1) 我将所有
控制器
移动到文件夹
admin

(2) 我将所有的
视图
移动到文件夹
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继承,admin_main从应用程序继承


关于读取/检查什么有什么建议吗?

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

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

class Admin::AdminMainController < ActionController::Base
end
class Admin::AdminMainController

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

谢谢!!我在任何地方都添加了它,在导入助手时是否也包括它?“include Admin::AdminMainHelper”或“include AdminMainHelper”取决于您的助手的模块名称。如果名称为“Admin::AdminMainHelper”,则为“include Admin::AdminMainHelper”或“include AdminMainHelper”