로컬 서버의 관리자 비밀번호를 변경하려고합니다. Ruby on Rails 관리자 비밀번호
나는 터미널에서 다음 단계를 사용 :User.find_by(email:'[email protected]')
u=_
u.password='newpassword'
u.save
다음 나는 그것이 전무를 보여줍니다 u.password 입력하여 실제로 변경있어 않았는지 를 확인합니다.
여기에 누락 된 자료가 있습니까? 감사합니다.
로컬 서버의 관리자 비밀번호를 변경하려고합니다. Ruby on Rails 관리자 비밀번호
나는 터미널에서 다음 단계를 사용 :User.find_by(email:'[email protected]')
u=_
u.password='newpassword'
u.save
다음 나는 그것이 전무를 보여줍니다 u.password 입력하여 실제로 변경있어 않았는지 를 확인합니다.
여기에 누락 된 자료가 있습니까? 감사합니다.
대부분이 모델에서 has_secure_password
을 사용하고 있습니다. 암호를 암호화하므로 콘솔을 통해 읽을 수 없습니다. 이것은 염려 할 이유가 아니라 오히려 예상되는 보안 기능입니다. 새로운 암호로 로그인하면 모든 것이 작동합니다.
레코드를 실제로 저장하고 있는지 또는 예외 (오류)가 있는지 확인하려면 u.save!
을 수행 할 수 있습니다.
대부분의 경우 실제 비밀번호를 변경하려면 password
과 password_confirmation
을 제공해야합니다. 따라서이 시도 :
user = User.find_by(email:'[email protected]')
user.password = 'newpassword'
user.password_confirmation = 'newpassword'
user.save
을 중 하나가 작동하지 않는 경우, 오류 메시지를 읽을 수도 있습니다보다. 아마도 당신이 객체가 유효하지 않습니다 : http://api.rubyonrails.org/classes/ActiveModel/SecurePassword/ClassMethods.html
모든 사람은 아무도'U = _' 무엇 물었다 너무 바빠서 응답입니다 :
SecurePassword 대해 자세히 알아? –
@MichalSzyndel 아마도 OP는 irb에서 이것을 실행하고 있습니다 ("터미널에서"의미하는 바를 추측 할 것입니다). irb의 변수'_'는 마지막 표현식의 결과를 나타냅니다. 그것은'u = User.find_by (email : '[email protected] ')와 동일합니다. – iamnotmaynard