Jak podczas uruchamiania aplikacji wybrać użytkownika za pomocą adresu e-mail, a następnie ręcznie ustawić hasło w rails console
Devise?
Ponadto, gdzie miałbym się udać, aby przejrzeć dokumentację, aby omówić więcej szczegółów dotyczących manipulacji kontami podczas korzystania z Devise?
ruby-on-rails
ruby
ruby-on-rails-3
devise
rails-console
ylluminate
źródło
źródło
Odpowiedzi:
Jest mniej więcej tak, jak opisałeś :-)
# use mongoid class User include Mongoid::Document end # then user = User.where(email: '[email protected]').first if user user.password = new_password user.password_confirmation = new_password user.save end
Aktualizacja sprzed 6 lat :)
Nowoczesne urządzenie pozwala na prostszą składnię, bez konieczności ustawiania pola potwierdzenia
user.password = new_password; user.save # or user.update_attributes(password: new_password)
źródło
User.store_in 'admin_users'
jednak otrzymaćundefined method
. Wygląda na to, że nie mogę uzyskać dostępu do tabeli, ponieważ za każdym razem zwracam zero. A co z odpytywaniem całej tabeli i początkowym pobraniem wszystkich wpisów, aby sprawdzić, czy początkowo wchodzę do tej tabeli? (Praca w MySQL tutaj, jednak nie powinno to mieć znaczenia w przypadku ActiveRecord.)# $ rails console production u=User.where(:email => '[email protected]').first u.password='userpassword' u.password_confirmation='userpassword' u.save!
źródło
User.find_by_email('[email protected]').update_attributes(:password => 'password')
Jeśli uruchomisz następujące polecenie w konsoli railsów, powinno to załatwić sprawę:
User.find_by(email: 'user_email_address').reset_password!('new_password','new_password')
http://www.rubydoc.info/github/plataformatec/devise/Devise/Models/Recoverable
źródło
User.find_by(email: 'user_email_address').reset_password('new_password','new_password')
Możesz po prostu zaktualizować pole hasła, nie ma potrzeby potwierdzania hasła, urządzenie zapisze je w postaci zaszyfrowanej
u = User.find_by_email('[email protected]') u.update_attribute(:password, '123123')
źródło
Z jakiegoś powodu (Rails 2.3 ??)
user = User.where(:email => email).first
nie działa dla mnie, ale
user = User.find_by_email('[email protected]')
zrobił to.
źródło
1. Zaloguj się do konsoli ralis
2. Następnie zaktualizuj hasło administratora
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. Odśwież stronę logowania, użyj nowego hasła do logowania, baw się!
Powodzenia!
źródło
User.find_by_email('[email protected]').update_attributes(:password => 'password')
User.find_by_email('[email protected]').update_attributes(:password => 'password')
źródło
Jeśli Twoje konto zostało zablokowane z powodu zbyt wielu prób logowania, może być konieczne wykonanie następujących czynności:
user.locked_at = '' user.failed_attempts = '0' user.save!
źródło