gpt4 book ai didi

ruby-on-rails - activeadmin的两个命名空间

转载 作者:数据小太阳 更新时间:2023-10-29 07:10:09 25 4
gpt4 key购买 nike

在过去的 4 小时里,我一直在尝试使用两个命名空间安装 activeadmin,但没有成功。

我想要两个命名空间。 “admin”和“admin_unit”。

我假设我有 app/admin 和 app/admin_unit 目录。

对于 admin 命名空间,我想使用默认的设计身份验证,对于“admin_unit”命名空间,我有一个需要使用的 current_user 方法。

我试过用命名空间包装 active_admin 配置中的所有配置,我也试过手动创建文件等,但每次我都会遇到一些问题。

Activeadmin 在过去的一年里发生了很大的变化,我看到的说明恐怕有一半已经过时了。而且没有一个是完整的。该文档仅部分位于命名空间上。

有人有从头到尾安装这两个命名空间的分步说明吗?如果能提供一些帮助,我将不胜感激!

编辑

当我去启动服务器时(或者在这种情况下我试图 rake 路由),我得到这个错误:

 Expected /app/active_admin/admin/dashboard.rb to define Admin::Dashboard (LoadError)

dashboard.rb 中有这个:

ActiveAdmin.register_page "My Page", :namespace => :admin do
content do
para "Hello World"
end
end

我也试过没有命名空间:

ActiveAdmin.register_page "My Page" do
content do
para "Hello World"
end
end

仅供引用,我添加了一个“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)]

那可以进入'config/initializers/active_admin.rb'这是必要的,因为 active_admin 会注意不要多次加载资源

至于身份验证方法,应该是这样的:

config.namespace :admin_unit do |namespaced|
namespaced.authentication_method = :current_user
end

请注意,'authentication_method' 和 'current_user_method' 是两个不同的设计设置(分别用于在 Controller 操作之前验证,以及返回当前用户)。我之所以指出这一点,是因为我认为“current_user”是 (non-activeadmin)Devise 默认调用以返回登录用户的方法

关于ruby-on-rails - activeadmin的两个命名空间,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12877139/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com