我有两个单独的表单,用于个人资料图片和其他个人资料信息。但是,两种形式都对应于配置文件模型。对于几个配置文件属性,我有以下验证:
validates :title, presence: true
validates :zip_code, presence: true
问题是当有人试图上传图片时会检查验证,这是我不想要的。话虽这么说,我也有一个图像验证器,所以我不想完全避免验证,只是某些。我正在考虑尝试访问模型中的params哈希,但我无法弄清楚如何并且我非常肯定它是一个坏主意无论如何。如何制定正确的验证条件?我已经尝试过了:
validates :title, presence: true, :unless => :picture_exists?
def picture_exists?
if self.pic
puts 'yo pic exist'
return true
else
puts 'yo no pic'
return false
end
end
但它不起作用,因为它检查配置文件是否有图片,而不是参数是否有图片。因此,如果有人已经保存了图片,他们就可以绕过我不想要的验证。我希望在不使用图片提交表单时绕过验证。