2016-03-03 64 views
0

我有以下的关联:如何确保该协会存在,并加载它,以避免N + 1轨

A User has_many House 
A House belongs_to User 

我知道,如果我想找到的所有独特的用户具有至少一个如果一旦我找到这些用户,我要作用于他们的房子

User.joins(:houses).uniq 

现在,我将如何着手:房子,我会做到这一点。我怎么会载入内存的房子,这样我就可以作用于它们,如:

User.joins(:houses).uniq.each do |user| 
    user.houses.each { |h| do_something_with_house(h) } 
end 

回答