1

例如,如果用户提交了一个帖子,那么他或她应该有 10 分钟的延迟时间,在此期间他或她不能提交另一个帖子。

有人可以指出一个好的宝石/教程/方法吗?作为参考,我在 Rails 3 上。

4

1 回答 1

3

如果您按用户进行跟踪,您可以保留一个名为last_activedatetime 字段的列,并在用户提交表单时更新它。(假设没有很多形式,那么也许考虑给这些时间戳提供他们自己的模型)。

然后,只需执行日期数学,看看是否已经过去了十分钟。

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
于 2012-05-05T02:14:21.980 回答