【问题标题】:Implementing a timer like that of Stackoverflow实现类似 Stackoverflow 的计时器
【发布时间】:2013-04-06 03:40:30
【问题描述】:

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

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

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

【问题讨论】:

    标签: ruby-on-rails activerecord timeout


    【解决方案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
    

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

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-05-24
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-09-11
      • 2014-04-04
      相关资源
      最近更新 更多