【发布时间】:2014-05-04 18:28:31
【问题描述】:
我有一个User 模型。
一个user 有很多integrations。
integration 通过包含data 列的integration_profiles 连接到profile。
我想立即加载所有用户的个人资料。
class Integration < ActiveRecord::Base
has_many :integration_profiles
has_many :profiles, through: :integration_profiles
end
class IntegrationProfile < ActiveRecord::Base
belongs_to :integration
belongs_to :profile
end
class Profile < ActiveRecord::Base
has_many :integration_profiles
has_many :integrations, through: :integration_profiles
end
我试过这个:
all = User.first.integrations.includes(:profiles)
但我当我all.count
=> 2
但是当我这样做时
all = User.first.integrations.joins(:profiles)
all.count
=> the correct total
我应该使用包含还是连接?我一直使用包含,所以不知道为什么这在这里不起作用
【问题讨论】:
标签: ruby-on-rails ruby-on-rails-3 ruby-on-rails-4 eager-loading