Paperclip中是否可以将附件设置为可选?

3

这是我在模型中使用 paperclip 的方法:

has_attached_file :photo,
  styles: {
    display: {
      geometry: "146x153#",
      format: :jpg,
    },
    message: {
      geometry: "48x48#",
      format: :jpg,
    }
  }

validates_attachment_content_type :photo, content_type: ['image/jpeg', 'image/png','image/gif']
validates_attachment_size         :photo, less_than:    2.megabytes, unless: :record_is_new?

目前程序可以正常运行,但我希望可以选择上传图片,即如果用户不想上传图片,则不需要进行验证。

2个回答

2
解决了这个问题,模型中有这个验证: validates_attachment_presence: photo 我完全忽略了它。

0

尝试有条件地进行验证,将以下内容添加到验证中:

validates_something_on :photo, ..., unless: Proc.new { |record| record[:image].nil? }

结果:

validates_attachment_content_type :photo, content_type: ['image/jpeg', 'image/png','image/gif'], unless: Proc.new { |record| record[:image].nil? }
validates_attachment_size         :photo, less_than:    2.megabytes,                             unless: Proc.new { |record| record[:image].nil? }

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接