OK、私は熱心な読み込みのいくつかで遊んでいて、次のような 2 つのモデルがあります。
Class Recipe < ActiveRecord::Base
belongs_to :cookbook
has_many :recipetags
end
と
Class Cookbook < ActiveRecord::Base
has_many :recipes, :include => [:recipetags]
end
クックブックを見つけたら、レシピを熱心に読み込み、次にレシピが :recipetags を熱心に読み込みます。
cb = Cookbook.find(10590, :include => [:recipes])
しかし、私がやりたいことは、レシピを開くたびに、すべての熱心な関連付けを自動的に取り込むことです-基本的に私はやりたいです:
rec = Recipe.find(123)
その場合も :recipetags を熱心にロードします。
これは些細なことのように思えますが、実際には Recipe に約 4 ~ 5 個の関連付けがあります。ここではそれらを表示していません。すべての find 呼び出しで :include を明示的に実行する必要はありません。 . 私は Recipe.find をオーバーライドして Recipe モデルでそれを行うことができると仮定していますが、よりクリーンな方法があるかどうか疑問に思っていました....