【问题标题】:Rails.root from engineRails.root 来自引擎
【发布时间】:2012-07-23 15:28:48
【问题描述】:

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

是否有任何“最佳做法”来处理您的引擎配置?

【问题讨论】:

  • 你试过Rails.application.root吗?
  • 是的,这也是 nil。

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


【解决方案1】:

假设你有一个模块属性。

# 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

【讨论】:

【解决方案2】:

改为使用Rails.root 使用:MyEngine::Engine.root ;D

【讨论】:

  • @dan-klasson 你想访问哪里?在主应用程序内部还是在引擎内部?
猜你喜欢
  • 1970-01-01
  • 2020-03-04
  • 2021-09-25
  • 2014-12-26
  • 2023-04-01
  • 1970-01-01
  • 2017-06-14
  • 2012-01-19
  • 1970-01-01
相关资源
最近更新 更多