Rails 获得最多推荐的产品

Rails get most recommended product

我有: Product => has_many :reviews Review 有一个字段 recommendation:boolean

我需要检索具有最多 Review.recommendation:true 的产品 这里的最佳方法是什么?

产品也必须出现在给定的类别数组中。 我正在尝试这样的事情:

Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id)

谢谢。

这最终成为我的方法:

res = Product.joins(:reviews).where('category_id IN (?)', categories_ids).where(reviews: {recommendation: true}).group(:id).count
    result = res.sort_by {|k,v| v}
    id = result.last[0]
    Product.find(id)