好的,我的User
模型可以“花费”积分向其他用户提供karma
(任意点) - 每次User
给出一个点,他们的{karma_amount
正如您所料,1}}会递减。我原本打算制作它,所以用户不能多次向另一个用户提供karma
,但后来我认为有一个有限的点补充会更加冷静,比如1每两天一次。
我不太确定如何实现这一点 - 如果它是我机器上的Ruby脚本,当然,但是有没有人在Rails中尝试过类似的东西?
我的另一个担忧是,如果每个用户在实时应用程序上都有一个滴答作响的时钟,那么整个事情就会减慢。我想我简单地问的是:'Rails-y'的做法是什么?当然,我宁愿找到一些健壮或优雅的东西,而不仅仅是乱砍。
非常感谢。
答案 0 :(得分:1)
你想要每一段时间运行的东西(在你的例子中是两小时)。操作本身(replenish_karma)可能是一个简单的控制器操作(确保仍然限制其访问),然后您只需要确保定期调用它。
一种非常简单的方法可能是服务器上的一个简单的cron,它将启动对该特定路由的调用。如果您想在rails应用程序中使用某些内容,您可能需要查看后台任务库,例如delayed_job或resque。