Ruby on rails 3 使用Rails 3中的设备显示上次登录的详细信息
我有一个Rails 3应用程序,它使用Desive进行身份验证 我想在用户管理表中显示每个用户上次登录的日期和时间 我的申请基于以下申请:Ruby on rails 3 使用Rails 3中的设备显示上次登录的详细信息,ruby-on-rails-3,authentication,devise,Ruby On Rails 3,Authentication,Devise,我有一个Rails 3应用程序,它使用Desive进行身份验证 我想在用户管理表中显示每个用户上次登录的日期和时间 我的申请基于以下申请: https://github.com/dannymcc/rails3-base 我已经阅读了Desive GitHub wiki,注意到它提到用户事件是可跟踪的,但我找不到任何关于访问信息等的信息 如有任何帮助/建议,将不胜感激 谢谢 Danny该文档概述了可跟踪模块,该模块将实现您想要的功能。在您的用户模型中,包括如下所示的:trackable模块:
https://github.com/dannymcc/rails3-base
我已经阅读了Desive GitHub wiki,注意到它提到用户事件是可跟踪的,但我找不到任何关于访问信息等的信息
如有任何帮助/建议,将不胜感激
谢谢
Danny该文档概述了可跟踪模块,该模块将实现您想要的功能。在您的用户模型中,包括如下所示的:trackable
模块:
devise :database_authenticatable,
...
:trackable
并确保您的数据库具有正确的字段。如果已经有一个用户表,则不确定如何执行此操作,但添加具有正确名称和类型的字段应该可以做到这一点。我迁移到“创建我的用户”表的过程如下所示:
class CreateUsers < ActiveRecord::Migration
def self.up
create_table :users do |t|
t.string :name
t.string :email
t.database_authenticatable :null => false
t.recoverable
t.rememberable
t.trackable
t.timestamps
end
end
def self.down
drop_table :users
end
end
然后你可以只做
user。最后一次登录在并检查文档,了解如何以你想要的格式输出时间。而不是user。最后一次登录在使用当前用户。在登录,就像你想要用户登录的最后一次登录详细信息一样
sign_in_count: integer,
current_sign_in_at: timestamp,
last_sign_in_at: timestamp,
current_sign_in_ip: string,
last_sign_in_ip: string