【发布时间】: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