Working

Paperclip 验证上传文件大小时 allow_nil 无法工作的解决方法

paperclip可以通过 validates_attachment_size 来验证上传文件的大小,但当使用 allow_nil => true 参数时,上传文件为空一样会抛错,这是Paperclip 2.3.1.1的bug。

解决方法:

打开paperclib.rb,找到validates_attachment_size,把最后一段

validates_inclusion_of :”#{name}_file_size”,
:in      => range,
:message => message,
:if      => options[:if],
:unless  => options[:unless]

改成:

validates_inclusion_of :”#{name}_file_size”, options.merge(:in => range, :message => message)

就可以了

参考:http://github.com/thoughtbot/paperclip/issues/issue/134