У меня есть обычная модель User
с большим количеством строк. У меня есть столбец password_digest
, который я хочу сохранить. (он исходит от))Перенос из существующего столбца password_digest?
И я также хочу использовать базу данных Devise аутентифицируемую, но из моих ограниченных знаний в Devise я должен использовать столбец encrypted_password.
Есть ли способ обмануть Devise в использовании моего текущего password_digest
для аутентификации, поэтому я не потеряю все свои пароли пользователей? Если я добавлю столбец encrypted_password
, он будет пустым, и я определенно не хочу, чтобы он оставался таким.
Возможно, я думаю об этом неправильно. Каков правильный способ решить эту проблему?
Интересный, но теперь я получаю 'ArgumentError: неверное число аргументов (0 для 1) от /home/aantonov/.rvm/gems/ruby -2.2.1/gems/devise-3.5.1/lib/devise/models/database_authenticatable.rb: 144: в 'password_digest''. Я потерялся в Devise –
Кажется, вы используете 'has_secure_password' по этой причине, он ожидает' password_digest' и вызывает ошибку. Лучше читайте с этого поста [здесь] (http://stackoverflow.com/questions/12715627/devise-and-rails-argumenterror-in-deviseregistrationscontrollercreate) –
Дал ему день, чтобы утонуть, и он работает. Пришлось реорганизовать несколько других методов, основанных на password_digest, но теперь все работает. Большое спасибо Rokibul Hasan! –