检查用户是否仍在同一页面上

时间:2013-04-07 01:27:54

标签: ruby-on-rails session

如何检查用户是否仍在同一页面上?

如果有任何用户阅读同一篇文章的时间超过五分钟,我想标记一个帖子。要做到这一点,我需要检查两次:当他第一次阅读帖子时,以及5分钟后。现在,我正在考虑做..

  1. 当读者第一次阅读帖子时,给他一个session[post_id]
  2. 使用delayed_job查看用户是否在5分钟后仍然有会话。如果他这样做,我标记post
  3. 每当他回到帖子列表时,我都会检查他是否有session[post_id]并删除它。
  4. 这种逻辑是否有意义?

1 个答案:

答案 0 :(得分:2)

我使用javascript来触发请求:

<script>
  $(document).on('ready', function(){
    this.setTimeout(function(){
      $.post("/posts/update/#{@post.id}", {marked: true})
    }, 1000*60*60*5)
  })
</script>