我有一个集合非 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 查询的任何想法?