我有一个有'term'和'section'属性的rails模型。 我想对这些属性进行唯一性约束,所以我尝试了这个:
validates_uniqueness_of :term, scope: :section
这只适用于'term'和'scope'都不是nil的情况,但我希望在有nil值时仍然适用约束。查看ActiveRecord :: Validations docs,我看到将'allow_nil'设置为false会阻止在a值为nil时跳过验证。但是此选项的默认值已经为假。
无论如何,我尝试将allow_nil设置为false和true,但行为没有变化。有没有人知道为什么当有零值时我无法使验证工作?
答案 0 :(得分:0)
您只需添加
即可validates_presence_of :term, :section
答案 1 :(得分:0)
"我希望唯一约束是术语和部分的组合。我不想单独约束它们。"
那个跨领域的验证;您需要构建自定义验证程序(使用validates_with)。 Read about that here.