Как подтвердить старых пользователей задним числом с помощью Devise?
Я начал использовать Devise без: подтверждаемого. Теперь я добавил его, и моим пользователям говорят подтвердить свою учетную запись, хотя многие зарегистрировались более года назад.
Мне нужно программно подтвердить всех старых пользователей в БД. Как я могу это сделать?
2 ответа
Вы просто должны установить в поле valid_at какое-то прошлое, чтобы оно работало нормально. Вы можете обновить подтверждение_, если вы собираетесь использовать его для других целей, например для статистики.
Вероятно, лучше всего написать миграцию, в которой вы обновляете новые поля таблицы пользователей. Я думаю, так как вы используете devise, вы должны установить поля valid_at и translation_sent_at во что-то, когда ваши старые пользователи были созданы. Также неплохо написать тест для этого, прежде чем применять его в производстве.
Вероятно, самый простой способ - запустить производственную консоль, выбрать всех старых пользователей и вызвать подтверждение для каждого объекта пользователя! Это должно установить поля на текущую дату.