【发布时间】:2014-02-04 08:36:15
【问题描述】:
我有两个单独的表格用于个人资料图片和其他个人资料信息。然而,这两种形式都对应于轮廓模型。对于几个配置文件属性,我有如下验证:
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
但它不起作用,因为它检查配置文件是否有图片,而不是参数是否有图片。因此,如果有人已经保存了一张图片,他们将能够绕过我不想要的验证。我希望在不使用图片提交表单时绕过验证。
【问题讨论】:
标签: ruby-on-rails ruby validation model-view-controller ruby-on-rails-4