2014-09-01 3 views
0

사용자 이름에 특수 문자 및 공백이 표시되지 않도록 사용자 모델에서 유효성 검사를했습니다.모델 유효성 검사가 업데이트되지 않음

그런데 약 10000 명의 사용자가 이미 등록되어 있습니다. 일부 사용자는 사용자 이름에 공백이 있습니다. 해고되지 않은 업데이트 검증에 있도록 업데이트 :

이것은

validates :username, format: { with: /\A[a-zA-Z0-9]+\Z/, message: "Non puoi avere spazi o caratteri strani nel tuo username" } 

가 어떻게에 대한 예외를 추가 할 수 있습니다 내 검증인가?

답변

2

경우 다음을 수행 할 수 있습니다 만 작성에 대한 검증 작업 :

validates :username, format: { with: /\A[a-zA-Z0-9]+\Z/, message: "Non puoi avere spazi o caratteri strani nel tuo username" }, on: :create 

또는이 객체가 새로운 기록이없는 경우 검증을 건너로 :

validates :username, format: { with: /\A[a-zA-Z0-9]+\Z/, message: "Non puoi avere spazi o caratteri strani nel tuo username" }, if: :new_record_object? 
def new_record_object? 
    self.new_record? 
end 

또는 저장하기 전에 다음 코드를 사용할 수 있습니다. 모든 개체 :

@user.save(validation: false) 

당신은 읽을 수보다 약 skipping validations

관련 문제