再次登录时更新用户的上次登录时间

问题描述 投票:-3回答:1

例如:如果用户在上午10:45登录并注销,那么当他再次登录时,last_sign_in的值应该是10:45 AM,current_sign_in值应该是当前时间。

def method_name  
 old_current, new_current = self.current_sign_in_at, Time.now.utc  
 self.last_sign_in_at     = old_current || new_current  
 self.current_sign_in_at  = new_current   
end
ruby ruby-on-rails-4 devise
1个回答
0
投票

该方法看起来很好,但它目前没有保存属性。

假设这个方法在user.rb中,你只需要添加:

def method_name  
  old_current, new_current = current_sign_in_at, Time.now.utc  
  self.last_sign_in_at     = old_current || new_current  
  self.current_sign_in_at  = new_current   
  save
end

你也可以看看使用update_attributes或类似的。

听起来你只需要在相关控制器动作中对用户调用此方法。如果你发布一些代码,我可以量身定做,但希望能让你朝着正确的方向前进。

© www.soinside.com 2019 - 2024. All rights reserved.