大きなアプリケーションを複数の小さなアプリケーションに分割しています。Gemfile.global
これを行ったとき、 を作成し、それをメイン アプリケーションとサブ アプリケーションの両方に含めることで、すべての をクリーンアップできることに気付きましたGemfile
。たとえば、デプロイメントの gem はすべて mainGemfile
に入り、レールはGemfile.global
.
Squeel を除いて、ほとんどすべての宝石で機能します。
ルートアプリの私Gemfile
の始まりは次のとおりです。
gemfiles = [
File.join('Gemfile.global'),
]
Dir.glob(File.join(File.dirname(__FILE__), gemfiles)) do |gemfile|
eval(IO.read(gemfile), binding)
end
# gem 'squeel' # Let's try putting this in Gemfile.global
私Gemfile.global
のように見えます:
source 'https://rubygems.org'
# rails and dependencies
gem 'squeel'
bundle install
rails s
Squeel をメインに使用すると、期待どおりに、ほとんどすべてがうまく機能しますGemfile
。ただし、デフォルトのSqueelGemfile.global
イニシャライザを使用すると、初期化プロセスが台無しになります。
Squeel.configure do |config|
end
rails s
レポートでuninitialized constant Squeel (NameError)
もスローします。この構成方法でRails ランタイム定数が台無しになるのはなぜですか?bundle install
Using squeel (1.0.13)
Gemfile