如何在使用devise gem登录和注销后更新用户属性

时间:2011-07-18 20:25:26

标签: ruby-on-rails devise

我开始使用设计,我希望能够将用户属性更新为在线或离线。我有这个

class ApplicationController < ActionController::Base
  private

  def after_sign_in_path_for(resource_or_scope)
    #update user status to online
    root_path
  end

  def after_sign_out_path_for(resource_or_scope)
    #update user status to offline
    root_path
  end
end

但我不知道如何编写更新方法

1 个答案:

答案 0 :(得分:5)

我过去做过这个:

Warden::Manager.after_authentication do |user,auth,opts|
  user.update_attribute(:currently_signed_in, true)
end

Warden::Manager.before_logout do |user,auth,opts|
  user.update_attribute(:currently_signed_in, false)
end

请参阅此问题:Devise call backs