我想获取发表文章的所有评论。那么范围定义会给我带来什么结果。 在文章模型
has_many :comments
评论模型
belongs_to :article
答案 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' })