回形针 - 验证文件类型但不存在

Low*_*ain 6 validation ruby-on-rails paperclip

我正在使用paperclip来处理我的文件上传,在一种情况下我不希望文件是强制性的.但是,我想确保它存在时是特定的文件类型.

我有这个:

class TestModel < ActiveRecord::Base
    #stuff
    has_attached_file :sound #etc...
    validates_attachment_content_type :sound, :content_type => ['audio/mp3', 'application/x-mp3']
end
Run Code Online (Sandbox Code Playgroud)

当我没有声音文件时,它告诉我它不是有效的内容类型之一.我已经尝试添加'':content_type数组,这也不起作用!

我也尝试为:if属性创建一个lambda过程,但是如果没有某种错误我就无法运行它.

这里有什么遗漏?

Tad*_*kas 0

我的模型的一部分:

  has_attached_file :logo, :styles => { :medium => ["300x300>", :png], :thumb => ["100x100>", :png] }
  validates_attachment_size :logo, :less_than => 2.megabytes
  validates_attachment_content_type :logo, :content_type => ['image/jpeg', 'image/png', 'image/gif']
Run Code Online (Sandbox Code Playgroud)

如果我没有提供图像文件,@obj.update_attributes(..) 不会引发错误,但会验证我是否提供文件。也许您使用旧版本的回形针?

gem list | ack paperclip
paperclip (2.3.1.1)
Run Code Online (Sandbox Code Playgroud)