2011-07-02 5 views
9

Paperclip이 파일 내용 유형, 즉 image/jpeg의 유효성을 검사 할 수 있지만 확장 기능의 유효성을 구체적으로 확인하고 싶습니다. 일관성있는 콘텐츠 형식을 얻지 못하는 애매한 확장 프로그램을 사용하고 있기 때문입니다. 이것이 행할 수 있는지 또는 이것을 할 수있는 좋은 방법이 있는지 누구나 알고 있습니까?Paperclip의 확장 기능 검증 - Ruby on Rails

답변

16

추측하기 때문에 클립 클립 방법으로 유효성을 검사 할 필요가 없습니다. 클립과 유효성을 검사, 또는

:

has_attached_file :attachment 
validates_format_of :attachment_file_name, :with => %r{\.(docx|doc|pdf)$}i 

편집 : 당신은 오히려 같은 것을 사용할 수 있습니다

validates_attachment_content_type :attachment, :content_type => 'text/plain' 

^자동으로 콘텐츠 형식 불일치 오류가 발생합니다.

+3

감사합니다. 간단한 후속 조치 : 오류 메시지를 어떻게 사용자 정의 할 수 있습니까? validates_format_of : attachment_file_name, : => % r {\. (txt) $} i, : message => ".txt 파일 만 업로드 할 수 있습니다." – Geoff

+0

그건 이상한 일이야! 하지만 어쨌든 대체 솔루션에 대한 편집을 확인하십시오. –

+0

여기 두 번째 대안은 MIME 형식이 "text/plain"인 다른 파일 끝이있는 파일도 허용 할 것입니다. 이러한 파일 엔딩의 수는 예를 들어 다음과 같이 발견 될 수있다. [http://reference.sitepoint.com/html/mime-types-full](http://reference.sitepoint.com/html/mime-types-full). – lossius