1

それぞれがいくつかの外部キーを持つコレクションの非 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 クエリを回避する方法について何か考えはありますか?

4

1 に答える 1