1

我正在个人项目中实施类似于 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
4

1 回答 1

1

弄清楚了。使用 rake 任务并在 Heroku 上的调度程序上运行它。

于 2014-01-28T00:31:55.760 回答