0
对于个人资料图片和配置文件信息的其余部分,我有两个单独的表单。然而,这两种形式都对应于剖面模型。对于一些配置文件属性,我有这样的验证:rails根据表单进行验证
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
,但它不工作,因为它会检查该配置文件是否有一个画面,而不是PARAMS是否有他的照片。所以如果有人已经保存了一张图片,他们将能够绕过我不想要的验证。我希望验证在不使用图片提交表单时被绕过。
感谢,3号可以工作,但有没有办法真正做到这一点?我不确定我了解你的PS问题? – Philip7899
我认为数字2更好(和3密切相关)。也许这可以摆脱一些光:http://stackoverflow.com/questions/8881712/skip-certain-validation-method-in-model – rlecaro2
@ Philip7899关于PS我问为什么所有其他验证会触发错误?即使其他字段为空(或您正在验证的任何内容),您的应用程序流是否会考虑设置个人资料图片的用例? – rlecaro2