ruby-on-rails – Rails 4:将控制器分组到一个文件夹中

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 4:将控制器分组到一个文件夹中前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
我想将所有控制器及其视图分组到文件夹中,例如“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,它继承自应用程序

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

解决方法

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

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

class Admin::AdminMainController < ActionController::Base
end

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

猜你在找的Ruby相关文章