我的模型中有这个验证:
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插入新记录。但是,我无法插入记录。我已经确定这是导致验证错误的验证。
我是否错误地解释了此验证?
谢谢,
答案 0 :(得分:0)
您的条件略有偏差,您date_active not null and date_inactive null
应该使用is not
和is
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}}