假设我们有一个Tag
模型,其中许多关联Post
(或无)通过has_many
关联。
是否有一种有效的方法只通过范围选择有tag.posts.size > 0
的标签?
表现如下:
scope :do_have_posts, -> { where("self.posts.count > 0") } #pseudo-code
感谢。
答案 0 :(得分:2)
这应该只返回带有帖子的标签,因为rails默认情况下会进行内连接
scope :with_posts, -> { joins(:posts).uniq }