0

好的,所以我的User模型能够“花费”积分来给karma其他用户(任意积分) - 每次User给出积分时,它们karma_amount都会减少,正如您所期望的那样。我原本打算这样做,这样一个用户就不能给karma另一个用户超过一次,但后来我认为拥有有限的点数来补充会更酷,比如每两天 1 个点。

不过,我不太确定如何做到这一点 - 如果它是我机器上的 Ruby 脚本,当然可以,但是有没有人有任何提示在 Rails 中尝试过类似的东西?

我的另一个担忧是,如果每个用户在实时应用程序上都有一个滴答作响的时钟,这会减慢整个过程。我想简而言之,我要问的是:'Rails-y' 的方式是什么?自然,我宁愿找到一些强大或优雅的东西,而不是仅仅破解。

非常感谢。

4

1 回答 1

1

您想要每隔一段时间(在您的示例中为两个小时)运行的东西。操作本身(replenish_karma)可能是一个简单的控制器操作(一定要限制它的访问,仍然),然后你只需要确保定期调用它。

一个非常简单的方法可能是服务器上的一个简单的cron,它将启动对该特定路由的调用。如果您想在 Rails 应用程序中添加一些内容,您可能需要查看后台任务库,例如delay_jobresque

于 2013-05-03T10:58:49.437 回答