Отображение последних зарегистрированных данных с помощью Devise в Rails 3 - PullRequest
5 голосов
/ 23 февраля 2011

У меня есть приложение Rails 3, и оно использует Devise для аутентификации.

Я хотел бы отобразить дату и время последнего входа каждого пользователя в таблицу администрирования пользователей.

Я основал приложение на следующем приложении:

https://github.com/dannymcc/rails3-base

Я прочитал вики Devise GitHub и заметил, что там упоминается, что пользовательские события отслеживаются, но я не могу найти какую-либо информацию относительно доступа к информациии т.д.

Любая помощь / совет будет принята с благодарностью!

Спасибо,

Дэнни

Ответы [ 2 ]

11 голосов
/ 23 февраля 2011

Документация Devise описывает отслеживаемый модуль, который будет делать то, что вы хотите.В вашей пользовательской модели включите модуль :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

t.trackable добавит правильные поля.В моей пользовательской модели они выглядят следующим образом:

sign_in_count: integer, 
current_sign_in_at: timestamp, 
last_sign_in_at: timestamp, 
current_sign_in_ip: string, 
last_sign_in_ip: string

Тогда вы можете просто сделать user.last_sign_in_at и проверить документацию strftime о том, как выводить время в нужном формате..

0 голосов
/ 21 марта 2015

Вместо user.last_sign_in_at используйте current_user.sign_in_at, так как вы хотите, чтобы последний вход в данные пользователя вошел в систему.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...