Как подтвердить старых пользователей задним числом с помощью Devise?

Я начал использовать Devise без: подтверждаемого. Теперь я добавил его, и моим пользователям говорят подтвердить свою учетную запись, хотя многие зарегистрировались более года назад.

Мне нужно программно подтвердить всех старых пользователей в БД. Как я могу это сделать?

2 ответа

Решение

Вы просто должны установить в поле valid_at какое-то прошлое, чтобы оно работало нормально. Вы можете обновить подтверждение_, если вы собираетесь использовать его для других целей, например для статистики.

Вероятно, лучше всего написать миграцию, в которой вы обновляете новые поля таблицы пользователей. Я думаю, так как вы используете devise, вы должны установить поля valid_at и translation_sent_at во что-то, когда ваши старые пользователи были созданы. Также неплохо написать тест для этого, прежде чем применять его в производстве.

Вероятно, самый простой способ - запустить производственную консоль, выбрать всех старых пользователей и вызвать подтверждение для каждого объекта пользователя! Это должно установить поля на текущую дату.

Другие вопросы по тегам