我试图建立一个管理面板到我的导轨应用程序,但想让我的管理控制器远离我的其他控制器。无论如何,我可以有一个管理文件夹在我的应用程序文件夹,其中包含管理员的东西只是控制器。控制器到完全不同的目录
在此先感谢。
我试图建立一个管理面板到我的导轨应用程序,但想让我的管理控制器远离我的其他控制器。无论如何,我可以有一个管理文件夹在我的应用程序文件夹,其中包含管理员的东西只是控制器。控制器到完全不同的目录
在此先感谢。
是的,当然。
您可以将所有与管理相关的控制器放在app/controllers/admin/
目录中。
是的,你可以通过在管理模块下命名你的控制器来做到这一点。
设置它的最简单方法是使用Rails生成,并以“admin”的前缀,你的资源:
rails generate controller admin/user
类型rails g controller
具体帮助。
下面是更多的信息引导的页面:http://guides.rubyonrails.org/routing.html#controller-namespaces-and-routing
如果你想保持你的管理完全分开,你可以使用一个引擎。要生成引擎,这样做:
rails plugin new admin --mountable
然后在你的主应用程序的路线文件,你可以安装引擎:
mount Admin::Engine => "/admin"
关于引擎完整的详细信息,请参阅http://guides.rubyonrails.org/engines.html。
这很简单,通常将它们放在app/controllers/admin
之内是有意义的,但如果使用这个,则需要使用命名空间。 Rails会自动加载这些类。
这是一个很好的做法,使每个命名空间的ApplicationController(我叫它基本控制器)是这样的:
module Admin
class BaseController < ApplicationController
end
end
,这里是一个exapmle控制器:
module Admin
class ExampleController < Admin::BaseController
def example
end
end
end
感谢您的回答,但我希望我的控制器目录完全可以在控制器目录之外,所以/ app/admin而不是/ app/controllers/admin –
您可以使用引擎:http://guides.rubyonrails.org/engines.html – mysmallidea