我想使用以下公式根据他们的分数(0-100)和投票数来计算我的每个产品的贝叶斯分数:
( (avg_num_votes * avg_rating) + (this_num_votes * this_rating) ) / (avg_num_votes + this_num_votes)
每个产品都有_many评论,每条评论都有一个0-100的“分数”。
从数据库中提取产品列表时,计算要在视图中的表中列出的贝叶斯分数的最佳方法是什么?
编辑:我正在寻找类似的东西:
Product.each do |product|
@product_bayesian = ((Review.count * Review.average(:score)) + (product.reviews.count + product.reviews.average(:score))/(Review.count+product.reviews.count)
end
但是,以最有效的方式完成,可能通过控制器中的连接?