2017-01-18 47 views
1

我使用的Heroku我的主要应用autoload_paths,但现在我已经分居它main_app和admin_app(内存问题)。不能动态地添加activeadmin宝石

所以我有2个应用程序上没有问题,同样的git回购运行。

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

现在我想节省一些内存,而无需加载主动管理。

我用一组中的Gemfile

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

和application.rb中时admin_app加载

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

现在,我有它位于应用程序管理文件夹/管理 得到自动加载所以我不得不忽略它,否则我会得到一个异常(在main_app上没有active_admin gem)

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

if Rails.application.secrets.admin_app 

ActiveAdmin.register ForumTopic .... 

end 

我寻找这个问题的一个更好的修复。

我试着移动管理文件夹使用

ActiveSupport::Dependencies.autoload_paths 

时,我喜欢对子级到lib或外部的应用程序文件夹,然后将其添加到

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

,但我只是没有看到它得到加载听听你的想法,感谢的

+1

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

回答

3

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

我将文件添加到active_admin“LIB”文件夹,然后有条件地需要他们的时候

绘制active_admin路线。