来自引擎的Rails.root

时间:2012-07-23 15:28:49

标签: ruby-on-rails gem rails-engines

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

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

2 个答案:

答案 0 :(得分:8)

假设你有一个模块属性。

# 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

答案 1 :(得分:1)

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