0

我想获取所有发表文章的评论。那么什么范围定义会给我结果。在文章模型

has_many :comments

评论模型

belongs_to :article
4

2 回答 2

3

如果您将发布的值存储在布尔字段中,您可以像这样在 Comment 模型中定义范围

scope :having_published_articles, joins(:article).where("articles.published=?", true)

可以用您正在使用的列名替换已发布。

然后获取所有已发表文章的评论:

Comment.having_published_articles
于 2013-08-23T05:59:16.653 回答
1

如果您想在所有 Ruby 中执行此操作,不使用字符串,它看起来像这样:

scope :having_published_articles, joins(:article).where(articles: { state: 'published' })
于 2013-08-23T06:08:44.223 回答