在activerecord信誉系统中存储/更新时间衰减功能

时间:2014-01-27 20:32:24

标签: ruby-on-rails voting-system

我正在个人项目中实施类似于reddit的声誉系统,并且我有一个时间衰减公式,我想用它。我想知道:

  • 您是否可以在activerecord信誉系统中使用基于时间的衰减公式进行加权?我见过的例子显示了简单的权重,如“:weight => 0.8”

  • 如果没有,我该如何存储和更新这些值?我显然不希望在每个请求的每条记录上运行该计算,但它需要相当频繁地更新自己。这样做的最佳方法是什么?

更新:我正在尝试使用的公式:

time_diff = ((Time.now - @item.created_at) / 3600).round
score = (@item.reputation_for(:votes).to_i) / (time_diff + 2)**1.5

1 个答案:

答案 0 :(得分:1)

想出来。使用rake任务并在Heroku上的调度程序上运行它。