これは、典型的なconfig/environments/*.rb
ファイルの開始方法です。
MyApp::Application.configure do
config.cache_classes = false
...
end
に渡されたブロックは、明らかにバインドされていないconfigure
シンボルを逆参照しています。config
これは技術的にどのように機能しますか?block/Proc/lambda で使用されるシンボルは、その宣言のコンテキストでバインドする必要があり、呼び出しサイトの動的スコープで解決するために放置する必要はありません。
関連する質問は、Application.configure
メソッドが宣言されている正確な場所はどこですか? application.rb
、engine.rb
、またはのいずれにもありませんrailtie.rb
。たぶん、この方法を見つけることができれば、私の主な質問に対する答えを見つけることができたでしょう.
また、関連して、Rails の初期化手順を非常に詳細に調べましたが、ファイルについての言及すら見つかりませんconfig/environments/*.rb
。これらのファイルが init プロシージャによってどのように処理されるかを知っていれば、これに光が当たる可能性があります。