来自引擎的Rails.root

我从我的rails引擎访问Rails.root遇到了一些问题,我正在创建。 我需要从主应用程序中获取yml配置文件。

处理发动机配置是否有“最佳实践”?

假设你有一个模块属性。

 # lib/my_engine.rb module MyEngine mattr_accessor :app_root end 

然后你可以从初始化块加载它,如下所示:

 # lib/my_engine/engine.rb module MyEngine class Engine < Rails::Engine initializer "my_engine.load_app_root" do |app| MyEngine.app_root = app.root end end end 

而是使用Rails.root使用: MyEngine::Engine.root ; D.