ActiveRecord 모델 유효성 검사를 사용하여 RESTful 응용 프로그램에서 양식의 유효성을 검사하고 있습니다.ActiveRecord 유효성 검사 예외 생성 (아니!)
내가 않는 만드는 작업을했다 :
@association = Association.new
양식의 수신 끝을 사용하여 데이터베이스에 저장하는 형태로 매개 변수의 속성의 데이터 해시를 만듭니다
@association = user.associations.create(data)
유효성 검사가 실패 할 경우 단순히 create 액션을 렌더링하려고합니다. 문제는 모델 유효성 검사가 실패 할 경우 .create (not!) 메서드가 예외를 throw한다는 것입니다. 예 : 모델의
validates_format_of :url, :with => /(^$)|(^(http|https):\/\/[a-z0-9]+([\-\.]{1}[a-z0-9]+)*\.[a-z]{2,5}(([0-9]{1,5})?\/.*)?$)/ix, :message => "Your url doesn't seem valid."
가 생성됩니다
ActiveRecord::RecordInvalid Exception: Validation failed: Url Your url doesn't seem valid.
내가 .create 생각! .create는 예외 인 반면 예외는 throw됩니다.
여기에 뭔가가 있습니까?
루비 1.8.7 패치 레벨 173 개 & 레일 2.3.3
어떻게 하나는 예외를 던지고 때 생성의 거짓 반환을 결정 가야합니까? 유효성 검사가 실패했음을 알기 위해 예외를 처리해야합니까? 당신이 고유 인덱스없이 확인이있는 경우 – onyxrev
완전히 정확하지,'.create'는 액티브 :: RecordNotUnique을 던질 수 –