それぞれがいくつかの外部キーを持つコレクションの非 Active Record モデルがあります。アソシエーションに積極的にロードしたいのですが、アプローチに苦労しています。コードは次のようになります。
モデル:
class Tuple
attr_accessor :widget_id
attr_accessor :woogle_id
def self.all
# returns a bunch of tuples with ids
end
def widget
@widget ||= Widget.find(widget_id)
end
def woogle
@woogle ||= Woogle.find(woogle_id)
end
end
意見:
- Tuple.all.each do |tuple|
= render tuple.widget
= render tuple.woogle
この場合、アクティブなレコードの外に熱心にロードし、N + 1 クエリを回避する方法について何か考えはありますか?