0

我有以下模型关系:

class Author
  has_many :posts
end

class Post
  belongs_to :author
  has_many :comments
end

class Comment
  belongs_to :post
end

我为作者设置了布尔列“活动”,为帖子设置了“已发布”。

我想找到 author.active: true 和 post.published: true 的所有评论

谁能帮帮我?我可以通过使用 join 语句(Post 模型中的此代码)从 Author.active: true 获取作者的所有帖子:

joins(:author).where(authors: {active: true})

但我似乎无法弄清楚如何获得 author.active: true 和 post.published: true 的所有评论。

4

1 回答 1

2

这应该工作

Comment.joins(:post => :author).where("authors.active = true AND posts.published = true" )

或者

Comment.joins(:post => :author).where(:post => {:published => true, :author => {:active => true}})
于 2013-10-23T03:54:30.217 回答