Rails验证不允许插入记录

时间:2013-04-24 16:09:37

标签: ruby-on-rails

我的模型中有这个验证:

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

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

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

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

谢谢,

1 个答案:

答案 0 :(得分:0)

您的条件略有偏差,您date_active not null and date_inactive null应该使用is notis date_active is not null and date_inactive is null来测试null,例如validates_uniqueness_of :micro_id, :conditions => ["date_active is not null and date_inactive is null"] 。这使您的验证:

{{1}}