ruby-on-rails - “用户最后一次在线”在
问题描述
是否有任何简单/原生的方式来显示用户上次在线时使用标准 Rails 应用程序在他们的个人资料页面上使用设备进行身份验证的时间?
我能得到的最接近的是
<%= @user.current_sign_in_at.to_s %>
这显示了最后一次登录发生的时间(这可能与用户最后一次检查网站的时间有很大不同 - 即他们最后一次“在线”可以这么说)。例如,如果用户在过去 90 秒内的任何时间都在使用该网站,我想显示一点绿灯,但如果使用他们上次登录的时间,那将不准确。
解决方案
Add a column in a users table last_seen_at
& update it every time using touch.
class ApplicationController
before_action :record_last_seen_at
private
def record_last_seen_at
if current_user
current_user.touch :last_seen_at
end
end
end
推荐阅读
- azure - Azure 逻辑应用 FTP 获取文件内容失败
- c# - 使用元素列表反序列化 XML,其中一些元素为 xsi:nil=“true”
- java - JPA Spring Boot 动态
- c# - for 循环中的 Lambda 表达式
- php - Yii2 - 提交前的警告信息
- autohotkey - 如何检测用户是否写了特定的句子?
- apache-kafka - 我们可以在 Kafka 代理中将保留期设为零吗?
- symfony - Symfony/FOSUserBundle:在 Fixtures 中从数据库加载现有用户
- amazon-web-services - 如何配置现有的 cognito 用户池以放大 Angular 应用程序
- python - Python WebScraping 与 BeautifulSoup。问题“元组”对象没有属性“h1”和“p”