我正在实现一个评分系统,以对Rails应用程序中的趋势进行排名。为了给项目打分,我使用的是“赞x年龄”这一基本数字。
@post.score = @post.likers(User).length * age
我在帖子数据库中有一个名为score的字段。我的问题是,在哪里调用上面的代码,以便随着年龄的增长或新人喜欢该帖子,分数会不断更新。
谢谢你的帮助。
由于它是一个不断变化的值,而不是一个真正的静态字段,因此建议您考虑将其放在方法中,而不是数据库中。除非出于性能原因而需要。因此,在您的Post模型中只需:
def score
#score algorithm here
end
这样,无论何时调用post.score,都会在该时间进行计算并显示出来。
另外,如果age是每天的价值,则可以使用某种计划任务(cron / whenever)来每天更新一次。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句