0
我想用下面的公式计算每个我的产品的贝叶斯评分的基础上,他们的得分(0-100)和票数:创建平均贝叶斯对每个产品的
( (avg_num_votes * AVG_RATING)+(this_num_votes * this_rating))/ (avg_num_votes + this_num_votes)
每个产品的has_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
但是,在最有效的方式完成的,可能是通过在控制器中加入?
当你说票,将每次审查等同于投票? – TangoKilo 2012-08-04 09:09:46
是的,抱歉缺乏澄清... Review.count会=票数 – Abram 2012-08-04 09:10:38