У меня есть модель направляющих использование Скрепки, которая похожа на это:
has_attached_file :image, :styles => { :normal => ['857x392#', :png] },
:url => '/assets/pages/:id/:basename.:extension',
:path => ':rails_root/public/assets/pages/:id/:basename.:extension'
validates_attachment_size :image, :less_than => 2.megabytes
При попытке создать запись этой модели без вложения для загрузки возвращается ошибка проверки:
Были проблемы со следующими полями:
* Image file size file size must be between 0 and 2097152 bytes.
Я попытался передать обоих: allow_blank => верный и: allow_nil => верный после оператора проверки в модели, но ни один не работал.
Как может я позволять: параметр изображения, чтобы быть пробелом?
Валидация paperClip проверяет только диапазон и не заботится о : allow_nil => true
Что вы можете сделать, это попробуйте установить : min => nil
или : min => -1
, может быть, это будет работать.
Обновление: Это не будет работать в последней версии Pormclip, поскольку они изменили, как работают валидации. То, что вы могли бы попробовать вместо этого:
validates_attachment_size :image, :less_than => 2.megabytes,
:unless => Proc.new {|model| model.image }
validates_attachment_size :image, :less_than => 25.megabytes,
:unless => Proc.new {|m| m[:image].nil?}
работает идеально для меня