2017-11-04 2 views
1

이 섹션에서는 데이터에서 사용자를 만들었고 연습에서는 새 이름을 할당하여 사용자 이름을 변경 한 다음 save 메서드로 변경 내용을 저장합니다.Hartl 's rails 자습서 6.3.4 연습 2, 왜 새 할당 된 이름이 저장되지 않습니까?

나는 이것을했고 거짓을 반환했다. Hartl은 왜 그것이 작동하지 않는지 묻습니다, 그리고 나는 왜 확신하지 못합니다. 콘솔에서 사용자를 인증하려고 시도했습니다.

user.authenticate("foobar") 

그런 다음 이름을 변경하려고 시도했지만 user.save는 여전히 false를 반환했습니다.

편집 : 나는 새 이름을 지정하여 이름을 변경

user.name = "Harry Caray" 

하지만 난 user.update_attribute 사용해야 믿습니다 (이름, "위대한 레보스키 (The Big Lebowski)")를

user.save는 여전히 false를 반환하지만 다시로드하면 이름이 저장됩니다.

+0

가 user.save를 실행하려고 모델의 오류를 검사하여 이유를 알게됩니다! 무슨 일이 일어나고 있는지보고 –

+0

이것은 true를 반환하고 새 이름을 저장했습니다. 그게 뭐야! 해야 할 것? –

+0

https://apidock.com/rails/ActiveRecord/Base/save%21;) –

답변

0

당신은 예 -

user.name = "new name" 
@error_object = user.save 
@error_object.errors.full_messages 
+0

마지막 줄의 코드를 실행하려고했을 때 반환 된 내용은 다음과 같습니다. NoMethodError : 정의되지 않은 메서드로 'errors'for false : FalseClass –

관련 문제