0

弾丸の宝石など、開発によく使われる宝石を追加した宝石を作っています。

アプリケーションのdevelopment.rb構成ファイルに追加したいので、アプリケーションの構成ファイルから追加することなく、弾丸のgemを構成できます。

私が知る限り、アプリケーションの開発構成ファイルは、アプリケーション名( "SomeApp :: Application.configure")に間隔を置いて名前が付けられています。では、このファイルをgemから動的に追加するにはどうすればよいでしょうか。

4

2 に答える 2

2

最善の策は、gemを継承するクラスを作成し、それがロードされたときにgemに含まれるようにすることで、gemをrailsエンジンとして設定することです。Rails::Engine

エンジン内では、初期化ブロックの一部としてセットアップ作業を行うことができます。

module MyGem
  class Engine < Rails::Engine
    initializer "my_gem.setup_environment" do |app|
      case Rails.env
      when 'development'
        # do something
      else
        # do something else
      end
    end
  end
end
于 2013-02-04T23:43:46.673 に答える
0

Railtie付き。他のRailtiesとアプリケーション間で共有されている構成オブジェクトにアクセスできます。

class MyRailtie < Rails::Railtie
  config.to_prepare do
    MyRailtie.setup!
  end
end
于 2013-02-04T23:46:58.580 に答える