例如,如果用户提交了一个帖子,那么他或她应该有 10 分钟的延迟时间,在此期间他或她不能提交另一个帖子。
有人可以指出一个好的宝石/教程/方法吗?作为参考,我在 Rails 3 上。
例如,如果用户提交了一个帖子,那么他或她应该有 10 分钟的延迟时间,在此期间他或她不能提交另一个帖子。
有人可以指出一个好的宝石/教程/方法吗?作为参考,我在 Rails 3 上。
如果您按用户进行跟踪,您可以保留一个名为last_active
datetime 字段的列,并在用户提交表单时更新它。(假设没有很多形式,那么也许考虑给这些时间戳提供他们自己的模型)。
然后,只需执行日期数学,看看是否已经过去了十分钟。
user.last_active + 10.minutes > Time.now ? "User can post" : "User cannot post"
注意:不在控制台前,那可能是10.minute
然后你的表单逻辑:
def form_stuff
//Form Logic
@user.last_active = Time.now
end