Документация 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 о том, как выводить время в нужном формате..