代码之家  ›  专栏  ›  技术社区  ›  Suraj D Bhat

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

  •  -3
  • Suraj D Bhat  · 技术社区  · 8 年前

    例如: 如果用户在上午10:45登录并注销,然后再次登录时,上次登录的值应为上午10:45,当前登录的值应为当前时间。

    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
    
    1 回复  |  直到 8 年前
        1
  •  0
  •   SRack    8 年前

    该方法看起来很好,尽管它当前没有保存属性。

    假设此方法位于 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 或类似。

    听起来您只需要在相关控制器操作中对用户调用此方法。如果您发布更多的代码,我可以对其进行裁剪,不过希望这会让您朝着正确的方向发展。