我正在尝试为我的rails应用程序构建一个管理面板,但是希望让我的管理控制器远离我的其他控制器。无论如何,我的app文件夹中都有一个admin文件夹,其中包含仅用于管理员的控制器。
提前致谢。
答案 0 :(得分:4)
是的,当然。
您可以将所有与管理员相关的控制器放在app/controllers/admin/
目录中。
答案 1 :(得分:1)
是的,您可以通过在管理模块下命名控制器来实现此目的。
最简单的设置方法是使用rails生成器,并在资源前加上" admin":
rails generate controller admin/user
输入rails g controller
以获取具体帮助。
这是指南中的一个页面,其中包含更多信息:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
答案 2 :(得分:0)
如果您希望将管理员完全分开,可以使用引擎。要生成引擎,请执行以下操作:
rails plugin new admin --mountable
然后在主应用程序的路径文件中,您可以使用以下命令安装引擎:
mount Admin::Engine => "/admin"
有关引擎的完整详细信息,请参阅http://guides.rubyonrails.org/engines.html。
答案 3 :(得分:0)
这很简单,通常将它们放在Map
中是有意义的,但如果使用它,则需要使用命名空间。然后Rails将自动加载这些类。
最好为每个命名空间创建一个ApplicationController(我称之为基本控制器),如下所示:
app/controllers/admin
这是一个exapmle控制器:
module Admin
class BaseController < ApplicationController
end
end