2016-09-29 11 views
1

내가 모델 형태로보기 (simple_form)에서바인딩 오류 메시지가

validates :csv_fingerprint, uniqueness: { message: "CSV was already uploaded." } 

에서 다음 유효성 검사 규칙을 가지고, 다음 코드는 파일 업로드 필드를 생성

= f.input :csv, as: :file 

유효성 검사가 작동하지만 업로드 필드에 오류 메시지가 표시되지 않습니다. 그 이유는 유효성 검사가 이고 csv_fingerprint가이고 양식 필드가 : csv 인 것 같습니다.

유효성 검사 규칙에서 메시지가 : csv 필드에 표시되어야하는 것은 어떻게 알 수 있습니까?

답변

1

당신은 f.error를 사용할 수 있습니다

= f.input :csv, as: :file 
= f.error :csv_fingerprint 

은 또한이 같은 속성에 대한 오류를 확인하실 수 있습니다 : 당신은 이들을 반복하고 표시 할 수

errors_for(@model, :attribute) 

.

개체의 오류를 가져 오는 또 다른 방법은 다음과 같습니다. @model.errors.on(:attribute)

+0

감사합니다. 따라서 메시지 속성을 지정하는 유효성 검사기의 옵션은 없습니다. 보기에 들어야합니다. – Christian

+0

@Christian이 질문입니까? 내가 어쨌든 대답 할 수 있는지 확신 할 수 없기 때문에. –

+1

@Christian 모델의 유효성 검사기는 대개 데이터베이스 컬럼에서 작동합니다. 유효성 검사 오류를 표시하는 방식에 대한 책임은 뷰 계층에 있습니다. –