我正在尝试建立一个基于投票的排名列表(在 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 列而不是 increment 吗?
谢谢
最佳答案
您可以做的一个建议是使用像 Resque 这样的后台任务库来排队作业,并使用 Resque 调度程序在后台运行
有了它,您可以每天/每小时执行一次任务来查看当前排名,根据新投票计算新排名,然后找到新排名与当前排名之间的差异以获得排名变化
关于ruby-on-rails - 建立一个与之前位置不同的排名列表,比如排名 2 (+6),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/34277606/