Как при запуске приложения выбрать пользователя по адресу электронной почты, а затем вручную установить пароль rails console
для Devise?
Кроме того, где я могу просмотреть документацию, чтобы получить более подробную информацию о манипуляциях с учетными записями при использовании Devise?
ruby-on-rails
ruby
ruby-on-rails-3
devise
rails-console
иллюминат
источник
источник
Ответы:
Это более-менее так, как вы описали :-)
# use mongoid class User include Mongoid::Document end # then user = User.where(email: 'joe@example.com').first if user user.password = new_password user.password_confirmation = new_password user.save end
Обновление через 6 лет :)
Современное устройство позволяет упростить синтаксис, не нужно устанавливать поле подтверждения
user.password = new_password; user.save # or user.update_attributes(password: new_password)
источник
User.store_in 'admin_users'
однако, полученаundefined method
. По-видимому, я не могу получить доступ к таблице, поскольку каждый раз я просто получаю ноль. Как насчет запроса всей таблицы и первоначального получения всех записей в ней, чтобы проверить, попадаю ли я в эту таблицу изначально? (Здесь работает MySQL, но с ActiveRecord это не имеет значения.)# $ rails console production u=User.where(:email => 'usermail@gmail.com').first u.password='userpassword' u.password_confirmation='userpassword' u.save!
источник
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
Если вы запустите в консоли rails следующее, это должно сработать:
User.find_by(email: 'user_email_address').reset_password!('new_password','new_password')
http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Recoverable
источник
User.find_by(email: 'user_email_address').reset_password('new_password','new_password')
Вы можете просто обновить поле пароля, пароль для подтверждения не требуется, devise сохранит его в зашифрованном виде
u = User.find_by_email('user@example.com') u.update_attribute(:password, '123123')
источник
По какой-то причине (Rails 2.3 ??)
user = User.where(:email => email).first
у меня не сработало, но
user = User.find_by_email('user@example.com')
сделал это.
источник
1. войдите в консоль ralis
2.Затем обновите пароль администратора
irb(main):001:0> user = User.where("username = 'root'") irb(main):002:0> u = user.first irb(main):003:0> u.password="root2014@Robin" => "root2014@Robin" irb(main):004:0> u.password_confirmation="root2014@Robin" => "root2014@Robin" irb(main):005:0> u.save => true irb(main):006:0> exit
3. Обновите страницу входа, используйте новый пароль для входа, наслаждайтесь!
Удачи!
источник
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
User.find_by_email('joe@example.com').update_attributes(:password => 'password')
источник
Если ваша учетная запись заблокирована из-за слишком большого количества попыток входа в систему, вам также может потребоваться:
user.locked_at = '' user.failed_attempts = '0' user.save!
источник