我想获取所有发表文章的评论。那么什么范围定义会给我结果。在文章模型
has_many :comments
评论模型
belongs_to :article
我想获取所有发表文章的评论。那么什么范围定义会给我结果。在文章模型
has_many :comments
评论模型
belongs_to :article
如果您将发布的值存储在布尔字段中,您可以像这样在 Comment 模型中定义范围
scope :having_published_articles, joins(:article).where("articles.published=?", true)
可以用您正在使用的列名替换已发布。
然后获取所有已发表文章的评论:
Comment.having_published_articles
如果您想在所有 Ruby 中执行此操作,不使用字符串,它看起来像这样:
scope :having_published_articles, joins(:article).where(articles: { state: 'published' })