Ruby 可以在回形针中选择附件吗?
以下是我在模型中使用回形针的方式:Ruby 可以在回形针中选择附件吗?,ruby,ruby-on-rails-3,validation,paperclip,paperclip-validation,Ruby,Ruby On Rails 3,Validation,Paperclip,Paperclip Validation,以下是我在模型中使用回形针的方式: has_attached_file :photo, styles: { display: { geometry: "146x153#", format: :jpg, }, message: { geometry: "48x48#", format: :jpg, } } validates_attachment_content_type :photo, content_ty
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?
它工作正常,但是,我想让图像上载成为可选的,即如果用户不希望上载图片,则不应应用验证。有条件地尝试验证,将其添加到验证中:
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? }
解决了这个问题,模型进行了以下验证:
验证附件的存在:照片
我完全忽略了这一点