validation以确保唯一但忽略空值?

我有以下模型字段validation:

validates_uniqueness_of :acronym, :scope => [:group_id], :case_sensitive => false 

问题是这个字段是可选的,并且返回一个空/零值作为已经采用的首字母缩写词。 我只想validation一个首字母缩写词是否是唯一的,如果提供了一个值。有没有办法更新此validation只有在有实际值时才会发生..不是nil / empty?

谢谢

是的,您可以将两个可能的选项传递给可选字段的validation:allow_blank:allow_nil ,它们将分别跳过blanknil字段的validation。 如果将validation更改为以下内容,则应获得所需的行为:

 validates_uniqueness_of :acronym, :allow_blank => true, :scope => [:group_id], :case_sensitive => false