7

Rails.root作成しているRailsエンジンからのアクセスに問題があります。メインアプリからyml設定ファイルをフェッチする必要があります。

エンジンの構成を処理するための「ベストプラクティス」はありますか?

4

2 に答える 2

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
于 2012-07-23T16:13:26.273 に答える
1

代わりに次を使用Rails.rootしてください:MyEngine::Engine.root; D

于 2015-07-02T01:03:45.720 に答える