これは、典型的な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 プロシージャによってどのように処理されるかを知っていれば、これに光が当たる可能性があります。