Sea*_*ean 5 ruby namespaces ruby-on-rails activeadmin
我正在尝试在过去4个小时内安装带有两个名称空间的activeadmin,但我没有运气.
我想要两个名称空间."admin"和"admin_unit".
我会假设我有app/admin和app/admin_unit目录.
对于admin命名空间,我想使用默认的devise身份验证,对于"admin_unit"命名空间,我有一个我需要使用的current_user方法.
我已经尝试使用命名空间包装active_admin配置中的所有配置,并且我尝试手动创建文件等,但每次我遇到一些问题.
Activeadmin在过去的一年里发生了很大变化,我很害怕我见过的一半指令已经过时了.而且没有一个是完整的.文档仅部分位于命名空间上.
有没有人有从开始到结束安装这两个名称空间的一步一步的说明?我非常感谢你的帮助!
编辑
当我去启动服务器(或者在这种情况下即时尝试rake路由)时,我收到此错误:
Expected /app/active_admin/admin/dashboard.rb to define Admin::Dashboard (LoadError)
Run Code Online (Sandbox Code Playgroud)
dashboard.rb中有这个:
ActiveAdmin.register_page "My Page", :namespace => :admin do
content do
para "Hello World"
end
end
Run Code Online (Sandbox Code Playgroud)
我也试过没有命名空间:
ActiveAdmin.register_page "My Page" do
content do
para "Hello World"
end
end
Run Code Online (Sandbox Code Playgroud)
仅供参考我添加了一个"active_admin"目录,并将两个命名空间目录放在那里.我将两者都添加到加载路径中(感谢您).
此错误是否与新的仪表板页面有关?我将研究下一步的工作方式.
多谢你们!感谢你的工作Gregg,我现在已经在数十个应用程序上使用了AA并且喜欢它!
编辑修复
好的,在上一期中,我发现从我创建的"active_admin"目录中取出两个activeadmin命名空间目录修复了问题.不确定哪些不起作用......但是哦,我已经在这个问题上花了足够的周期,并准备继续前进.
希望能帮到别人..
您是否将app/admin_unit添加到active_admin的加载路径?
config.load_paths = [File.expand_path('app/admin', Rails.root), File.expand_path('app/admin_unit', Rails.root)]
Run Code Online (Sandbox Code Playgroud)
这可以放在'config/initializers/active_admin.rb'这是必要的,因为active_admin注意不要多次加载资源
至于身份验证方法,这样的东西应该工作:
config.namespace :admin_unit do |namespaced|
namespaced.authentication_method = :current_user
end
Run Code Online (Sandbox Code Playgroud)
但请注意,'authentication_method'和'current_user_method'是两种不同的设计设置(用于在控制器操作之前进行身份验证,并分别返回当前用户).我只是指出这一点,因为我认为'current_user'是默认情况下(非activeadmin)默认调用返回登录用户的方法
放置文件的目录与命名空间的配置不同.如果要添加Active Admin从以下位置加载文件的新目录:
config.load_paths = [File.expand_path('app/admin', Rails.root), File.expand_path('app/admin_unit', Rails.root)]
Run Code Online (Sandbox Code Playgroud)
现在您可以将文件放在app/admin_unit中,Active Admin将加载它们.这对于放置这些文件的"命名空间"没有影响.
要设置资源的名称空间,只需将名称空间的名称传递给注册:
ActiveAdmin.register SomeResource, :namespace => :admin_unit do
# configuration
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
3721 次 |
| 最近记录: |