앱을 실행하는 동안 이메일 주소로 사용자를 선택한 다음 rails console
Devise 에서 수동으로 비밀번호를 설정하는 방법은 무엇입니까?
또한 Devise를 사용하는 동안 계정 조작과 관련된 자세한 내용을 다루기 위해 문서를 검토하려면 어디로 가야합니까?
답변:
당신이 설명한대로 다소 :-)
# 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
현대적인 장치는 더 간단한 구문을 허용하며 확인 필드를 설정할 필요가 없습니다.
user.password = new_password; user.save
# or
user.update_attributes(password: new_password)
User.store_in 'admin_users'
했지만 받았습니다 undefined method
. 매번 0으로 돌아 가기 때문에 테이블에 액세스 할 수없는 것 같습니다. 전체 테이블을 쿼리하고 처음에 해당 테이블에 들어가는 지 확인하기 위해 처음에 모든 항목을 가져 오는 것은 어떻습니까? (여기서 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')
1. ralis 콘솔에 로그인
$ sudo bundle exec rails console production
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')