2

这是我在模型中使用回形针的方式:

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?

它工作正常,但是,我想让图像上传可选,即如果用户不希望上传图片,则不应该应用验证。

4

2 回答 2

2

解决了这个问题,模型得到了这个验证: validates_attachment_presence: photo 我完全忽略了。

于 2013-06-05T05:47:20.420 回答
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? }
于 2013-05-23T11:20:40.887 回答