什么是在Devise中使用的last_sign_in_at?

时间:2015-07-06 21:03:06

标签: ruby-on-rails ruby devise warden

Devise中的标准用户列为last_sign_in_at,在current_sign_in_at更新时保留current_sign_in_at的上一个值。

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

2 个答案:

答案 0 :(得分:12)

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

更好的名称可能是 previous_sign_in_at ,因为它们不是他们在 last (当前的那个)中签名的时间,而是之前的时间。

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

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

答案 1 :(得分:6)

查看源代码,它似乎只是Trackable的一个属性 - 纯粹是一般的便利。

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

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

所以,只是一般的便利。