首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >急切加载自引用多态关联

问急切加载自引用多态关联
EN

Stack Overflow用户
提问于 2011-07-15 08:46:34
回答 1查看 729关注 0票数 1

我通过多态关联在应用程序中使用acts_as_commentable,并希望允许对注释进行线程化。我已经完成了这项工作,但现在我想创建一个返回树状结构并避免N+1查询问题的index操作。我有:

代码语言:javascript
复制
item.comments.includes(:comments)

但是,它运行以下查询,该查询不执行任何紧急加载:

代码语言:javascript
复制
SELECT "comments".* FROM "comments" WHERE ("comments".commentable_id = 22 AND "comments".commentable_type = 'Item')

有没有办法让它在自引用多态关联上运行?

EN

回答 1

Stack Overflow用户

回答已采纳

发布于 2011-07-19 19:31:57

如果在Comment中有两个belongs_to关联,而不是让注释本身成为可注释的,您可能会更容易一些。一个用于原始注释,另一个用于线程中的父注释。

代码语言:javascript
复制
class Comment < ActiveRecord::Base
  belongs_to :commentable, polymorphic: true
  belongs_to :parent, class_name: Comment
  has_many :replies, class_name: Comment, inverse_of: :parent, include: :replies
  …
end
票数 3
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/6701619

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档