Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/ruby-on-rails-3/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Ruby on rails 3 使用Rails 3中的设备显示上次登录的详细信息_Ruby On Rails 3_Authentication_Devise - Fatal编程技术网

Ruby on rails 3 使用Rails 3中的设备显示上次登录的详细信息

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模块:

我有一个Rails 3应用程序,它使用Desive进行身份验证

我想在用户管理表中显示每个用户上次登录的日期和时间

我的申请基于以下申请:

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