我有一个允许我编辑条目的表格。我有一组辅助属性,如果其中一个具有值,则它们必须全部存在。我使用条件验证来这样做:
validates_presence_of :raison_sociale,:nom_contact,
:prenom_contact,:telephone,
if: (:nom_contact?||:raison_sociale?||
:prenom_contact? || :telephone?)
但奇怪的是,这 4 个字段的评估方式不同!如果我删除 nom_contact,它会保存。但是,如果我将其删除并打电话,它就会失败。
我观察到的是,如果它是 if 条件中的第一个字段,它会忽略一个空白字段!一旦我将 prenom 联系作为第一个条件,我就无法在没有 nom_contact 的情况下保存,但现在它是 prenon_contact 被忽略了!
为什么我的条件表现得很奇怪,我该怎么办?
我该怎么做才能避免这种情况?