1

我的模型中有这个验证:

validates_uniqueness_of :micro_id, :conditions => ["date_active not null and date_inactive null"]

我将其解释为:如果这是 micro_id 为 2695 且 date_active 不为空且 date_inactive 为空的唯一记录,则可以插入。

在数据库中,对于 micro_id 2695,我有一个记录:它有一个 date_active 和一个 date_inactive。当我有一个 date_active 和一个空 date_inactive 时,我应该能够为 2695 插入一条新记录。但是,我无法插入记录。我已经确定这是导致验证错误的验证。

我是否错误地解释了此验证?

谢谢,

4

1 回答 1

0

您的条件略有偏差,您date_active not null and date_inactive null应该在哪里测试 null is notis例如date_active is not null and date_inactive is null. 这使您的验证:

validates_uniqueness_of :micro_id, :conditions => ["date_active is not null and date_inactive is null"]
于 2013-04-24T16:12:33.007 回答