【问题标题】:can't dynamically add activeadmin gem to autoload_paths无法将 activeadmin gem 动态添加到 autoload_paths
【发布时间】:2017-01-18 10:06:45
【问题描述】:

我将 heroku 用于我的主应用程序,但现在我已将其分离为 main_app 和 admin_app(内存问题)。

所以我有 2 个应用程序在同一个 git 存储库上运行,没有任何问题。

main_app 使用子域管理员。解决 admin_app

现在我想在不加载活动管理员的情况下节省一些内存。

我在 gemfile 中使用一个组

group :admin_app do
  gem 'activeadmin', git: 'https://github.com/activeadmin/activeadmin'
end

在加载 admin_app 时在 application.rb 中

 Bundler.require(*Rails.groups,:admin_app) 

现在,我有位于 app/admin 上的 admin 文件夹 自动加载,所以我必须忽略它,否则我会得到一个异常(main_app 上没有 active_admin gem)

我通过一个简单的 if 语句解决了它

if Rails.application.secrets.admin_app

ActiveAdmin.register ForumTopic ....

end

我正在为这个问题寻找更好的解决方案。

我尝试将 admin 文件夹移动到 lib 或 app 文件夹之外,然后将其添加到

config.autoload_paths << Rails.root.join('admin')

但我只是没有看到它在使用时被加载

ActiveSupport::Dependencies.autoload_paths

想听听你的意见,谢谢

【问题讨论】:

  • 您是否尝试为管理应用创建环境?您也许可以从那里更新自动加载器,因为我相信一旦加载了一些基本文件,修改它就会被阻止

标签: ruby-on-rails rubygems activeadmin


【解决方案1】:

我找不到 autoload_paths 不包含我的文件的原因。

我将 active_admin 文件添加到“lib”文件夹,然后有条件地需要它们

绘制 active_admin 路由。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-07-09
    • 2012-04-26
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多