-1

Stackoverflow 通过在发布每条评论后允许他延迟 15 秒来防止在短时间内发布过多评论。在我的 Rails 应用程序中,我想实现一个使用相同逻辑的不同功能。如果用户阅读帖子超过 5 分钟,我想将他添加到帖子的readers表中。这是通过使用sessionsor完成的cookies吗?

更新:当我想得更多时,逻辑可能略有不同。5 分钟后,我需要再检查一次用户是否仍在页面上阅读帖子。

澄清:我想实现一种方法来检查用户是否阅读同一篇文章超过 5 分钟。

4

1 回答 1

1

您要问的问题太多了,如果不了解您的应用程序的工作流程,就很难回答这个问题。把它分解,这样对其他人也容易得多。

现在,要回答您的部分问题,您可以使用会话进行计时。可能是这样的?

def methodName
  if session[:logged_in]
    do_something if session[:last_seen] < 5.minutes.from_now
    session[:last_seen] = Time.now
  else
    do_something_else
    session[:last_seen] = Time.now
  end
end

希望这可以帮助。如果您有任何问题,请告诉我。

于 2013-04-06T04:21:45.793 回答