last_sign_in_at 在 Devise 中有什么用?

What is last_sign_in_at used for in Devise?

Devise 中的标准用户列是 last_sign_in_at,它在更新 current_sign_in_at 时保留 current_sign_in_at 的先前值。

last_sign_in_at 是否有 Devise 的核心功能或模块功能的任何实用程序,还是只是为了一般方便而存在?

查看源代码,它似乎只是 Trackable 的一个属性——纯粹是为了一般方便。

https://github.com/plataformatec/devise/search?utf8=%E2%9C%93&q=last_sign_in_at

此外,Devise 的 gemfile 没有显示(我猜)会使用该字段的任何内容。

所以,只是一般的方便。

last_sign_in_at 是用户在当前会话之前登录的日期和时间,即 current_sign_in_at。如果他们还没有登录或者这是他们的第一次会话,它将是 nil

更好的名字可能是 previous_sign_in_at 因为这不是他们登录的时间 last(当前的), 是之前的时间

说明其用法可能会有所帮助:登录后,如果您的条款和条件页面上的 updated_at 比用户的 last_sign_in_at 更新,则将他们重定向到条款接受页面。

与 Trackable 模块中的大多数属性一样,虽然它由 Devise 维护,但并未在内部用于 Devise。