如何在使用Devise时获取用户的上次活动时间?

时间:2013-01-02 23:45:41

标签: ruby-on-rails ruby-on-rails-3 devise

假设用户在网站上花了很长时间 如何获取用户上次活动时间。 上次活动时间表示请求(访问该页面。用户甚至不需要更新或创建新记录)到应用程序的用户的最后时间戳。

用户可能在大约一小时前登录过。然后他仍然在我的网站上网冲浪。 我想要用户发送的最后一次请求的时间。

有可能吗?

设计 current_sign_in_at 但不是最后一个活动时间。

1 个答案:

答案 0 :(得分:19)

我实现这一点的方法是在User模型中添加last_active_at日期时间列,然后在控制器中添加一些内容:

class ApplicationController
  before_filter :record_user_activity

  private

  def record_user_activity
    if current_user
      current_user.touch :last_active_at
    end
  end
end