建立与之前位置不同的排名列表,如排名2(+6)

时间:2015-12-14 22:14:11

标签: ruby-on-rails database activerecord

我正在尝试根据投票(在Ruby on Rails上)构建排名列表

我没有排名和增量值。 我的桌子有~300条记录

post id,  votes,  ranking,  increment 
1,        22,     1,        +3
2,        16,     2,        -1
3,        13,     3,        +6
4,        7,      4,        -2

我对如何构建增量部分感到困惑,比如,根据之前的位置上升或下降了多少个位置。

我想知道如何构建它 我应该使用每天/每小时运行的cron作业来更新基于投票的增量排名吗?

如何计算排名和增量?我应该有prev_ranking列而不是增量吗?

由于

1 个答案:

答案 0 :(得分:2)

您可以做的一个建议是使用像Resque这样的后台任务库来排队作业,并使用Resque scheduler来在后台运行

有了这个,你可以做每日/每小时任务来查看当前排名,根据新投票计算新排名,然后找出新排名与当前排名之间的差异以获得排名变化