3

大きなアプリケーションを複数の小さなアプリケーションに分割しています。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 installrails sSqueel をメインに使用すると、期待どおりに、ほとんどすべてがうまく機能しますGemfile。ただし、デフォルトのSqueelGemfile.globalイニシャライザを使用すると、初期化プロセスが台無しになります。

Squeel.configure do |config|
end

rails sレポートでuninitialized constant Squeel (NameError)もスローします。この構成方法でRails ランタイム定数が台無しになるのはなぜですか?bundle installUsing squeel (1.0.13)Gemfile

4

2 に答える 2