2017-01-08 1 views
1

작동하지 update_attibutes, 방법입니다. 일부 유효성 검사는 작업을 중지합니다. 그런 다음 터미널에서 명령을 실행합니다.내가 관리자로서 사용자를 설정하려고

따라서 작업에서 암호 유효성 검사가 호출되므로 관리자로 사용자를 업데이트 할 수 없습니다.

누구나 update_attributes에서 password 및 update_password 유효성 검사가 호출되는 이유를 알고 있습니까?

+0

아니요 아니요, : format 개체를 반환합니다. 인쇄 할 때 : flash [: notice] = "사용자 # {user.name}이 (가) 관리자입니다."올바른 이름을 받았습니다. –

+0

은 유효성이 기록 된 사용자의 모델 파일을 게시 할 수 있습니다. – user3775217

답변

1

update_attributes 방법 (귀하의 경우 user) 개체에 대한 매개 변수 perform_validations = truesave 메소드를 호출하는 이유를 이해하지 않습니다. 따라서 update_attributes 메서드를 호출 한 후 사용자가 가진 모든 유효성 검사 모델이 수행됩니다. 그것은 자연스러운 행동입니다.

유효성 검사를 수행하지 않으려면 update_attribute 메서드를 사용할 수 있습니다. 그것은 그래서 당신은 가능한 update_column 대신

+0

감사합니다. 나는 "user.update_attributes"를 "user.update_columns"로 변경하고 잘 작동합니다. –

+0

문제가 해결되면 다행입니다! – VAD

0

update_attributes 방법은 모델 검증 및 콜백을 트리거 찾을 수 있습니다 매개 변수 perform_validations = false

갱신

update_attribute는 레일 4에서 더 이상 사용되지 않습니다와 save 메소드를 호출합니다. update_attributes 메서드 대신 update_column 메서드를 시도하십시오.

관련 문제