0

我知道我可以对 a 中的关联应用限制has_many :through,即:

class Post
  has_many :commenters, through: :comments, uniq: true, limit: 10
end

这将返回最多 10 commenters。但是,如果我只想知道贡献了前 10 条评论的人怎么办?(例如,如果有一个乒乓评论线程,它只会产生 2 个结果)。换句话说,我如何限制comments此查询中的数量?

4

1 回答 1

1

将关系定义与您要进行的查询分开可能会更好。

class Post
  has_many :commenters, through: :comments

  def last_commenters
    comments.order('created_at DESC').limit(10).map{|c|c.commenter}.uniq
  end
end

免责声明:代码未经测试。

于 2013-09-29T16:17:21.113 回答