我正在使用以下方法驗證載波上傳的文件內容的MIME類型。rails自定義驗證器以驗證與載波的MIME類型
https://gist.github.com/denyago/1298417
但這種驗證運行,即使沒有內容上傳的所有時間。這顯然失敗了,因爲沒有什麼可以驗證。
validates :logo, :file_mime_type => {:content_type => /image/}
當沒有內容上傳時,是否有任何工作可以跳過驗證?
謝謝!
UPDATE:
使用PROC或lambda工作做好,直到沒有上傳的內容存在。
..., if => Proc.new{|company| company.logo.present?}
@company.save #works will when @company contains correct mime type logo file
@company.save #fails when @company contains no logo file
只要有人上載標誌它正確保存對象,並開始在其他任何救不存在圖像上載這裏養錯MIME類型例外。
感謝您的時間,但如果徽標已經存在於應用程序中,則無法工作,因此img.logo.present?返回true。 –
但你說「沒有內容上傳」。你能澄清一下情況嗎? –
如果徽標已經存在,該驗證應通過(除非您的徽標無效。您是否有無效記錄?您無法更新?) –