有什么方法可以检查用户自x个月以来是否未处于活动状态

时间:2020-09-18 12:38:08

标签: ruby-on-rails devise rubygems

我正在使用rails 6并设计用于身份验证。我知道可以通过会话完成,但不知道如何。感谢您的友好答复。

2 个答案:

答案 0 :(得分:1)

如果是活动状态,则表示用户已经x个月未登录。然后,您可以检查last_sign_in_at表中的users列。该列应由Devise创建。

months = 6 # Put your value here
if user.last_sign_in_at? && user.current_sign_in_at.blank?
  user.last_sign_in_at < Time.now.months_ago(months)
end

如果从未登录过用户,则可以类似的方式检查created_at字段。

答案 1 :(得分:1)

首先在您的用户模型中实现此方法:

def active_in_last_6_months?
  last_sign_in_at < 6.months.ago
end

然后在您的控制器/视图上

current_user.active_in_last_6_months?