是否可以在回形针中选择附件?

时间:2013-05-23 11:08:24

标签: ruby ruby-on-rails-3 validation paperclip paperclip-validation

以下是我在模型中使用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 个答案:

答案 0 :(得分:2)

解决了这个问题,该模型进行了验证: validates_attachment_presence: photo 我完全忽视了。

答案 1 :(得分: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? }