仅当属性存在于轨道和载波中时进行验证



这是我的代码

class FactSheet < ActiveRecord::Base
  mount_uploader :image, ImageUploader
end

和上传者

class ImageUploader < CarrierWave::Uploader::Base
  def extension_white_list
    %w(jpg jpeg gif png)
  end
end

这一切都很好,但我面临的问题是,在这种情况下,用户提供图像是可选的,所以如果他们不提供图像,我不想看到以下验证错误

Image You are not allowed to upload "" files, allowed types: jpg, jpeg, gif, png

仅在存在图像的情况下验证/挂载上传者的最佳方法是什么?

在情况说明书模型中,您可以像这样:

   validates :attachment, allow_blank: true, format: {
    with: %r{.(gif|jpg|png|jpeg)Z}i,
    message: 'image must be a GIF, JPEG, PNG format'
   }

最新更新