NoMethodError: неопределенный метод `current_sign_in_at 'для #User: 0x000055ce01dcf0a8 с использованием Devise_token_auth rails gem не работает - PullRequest
1 голос
/ 18 апреля 2019

NoMethodError: неопределенный метод `current_sign_in_at 'для #User: 0x000055ce01dcf0a8

Я думаю, что это какая-то ошибка метода сеанса

У меня есть приложение angular6 для внешнего интерфейса и рельсы для внутреннего интерфейса,поэтому лучшим вариантом для меня было выбрать devise_token_auth и ng_token_auth для аутентификации пользователя.

Я установил devise_token_auth gem, а затем выполнил эту строку кода в терминале

"rails generate devise_token_auth:установить User auth "

и при миграции произошла ошибка, я решил проблему, добавив

" extension Devise :: Models "

к модели USER и затем сработала миграция, затем я создал пользователя в бэкэнде и попытался вызвать sign_in с помощью почтальона, и пришла ошибка "NoMethodError: неопределенный метод" current_sign_in_at 'для #User: 0x000055ce01dcf0a8 "

Я хочу, чтобы пользователь прошел аутентификацию с использованием этого драгоценного камня или другого драгоценного камня, если они существуют

1 Ответ

2 голосов
/ 31 мая 2019

У меня недавно была эта проблема, и оказалось, что у меня не было отслеживаемых полей в моей миграции. Есть два способа исправить это:

Вариант один. Добавьте новую миграцию, которая добавляет отслеживаемые поля для пользователя

## Trackable
t.integer  :sign_in_count, default: 0, null: false
t.datetime :current_sign_in_at
t.datetime :last_sign_in_at
t.inet     :current_sign_in_ip
t.inet     :last_sign_in_ip

Запустить рейк БД: мигрировать

Второй вариант: запустить миграцию вниз

Начните с этой команды - добавьте номер версии вашей миграции

rake db:migrate:down VERSION=xxxxxxxxxxxxxx

После этого вы сможете добавить отслеживаемые поля в файл миграции и затем запустить

rake db:migrate up VERSION=xxxxxxxxxxxxxx

Запустите rake db: migrate

...