父级关联的条件范围,以获取所有子级

时间:2013-08-23 05:47:58

标签: ruby-on-rails ruby ruby-on-rails-3.2

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

has_many :comments

评论模型

belongs_to :article

2 个答案:

答案 0 :(得分:3)

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

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

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

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

Comment.having_published_articles

答案 1 :(得分:1)

如果你想在所有Ruby中做这个,没有字符串,它看起来像这样:

scope :having_published_articles, joins(:article).where(articles: { state: 'published' })