有4个表格,例如代码,用户, user_profiles 和社区。
关联的设置如下所示。
代码 belongs_to:用户
代码 belongs_to:社区
用户 has_many:代码
用户 has_one:user_profile
UserProfile belongs_to:user
社区 has_many:代码
如果我想使用包含()
@communities = current_user.get_up_voted(Community)
@communities_ids = @communities.pluck(:id)
@codes = Code.includes(:user) \
.where(:community_id => @communities_ids) \
.order("users.active_at DESC") \
.page(params[:page]) \
.includes(:community, user: [:user_profile])
由于此部分,这不起作用。
includes(:community, user: [:user_profile])
但如果我将其切换到
includes(:community)
有效......
如何将user_profile
添加到包含中?
答案 0 :(得分:1)
你的方法看起来基本上应该正常工作......我会尝试使用没有数组的哈希为你的.includes
,因为只有一个关联被添加。我还建议将两个不同的.includes
语句合并为一个。像这样:
@codes = Code.includes(:community, user: :user_profile)
.where(community_id: @communities_ids)
.order("users.active_at DESC")
.page(params[:page])