我有一个有两个字段的模型,我将其称为first_name和last_name,我想确保两者的组合不区分大小写。我已经在那里使用了这个:
validates_uniqueness_of :first_name, :scope => :last_name
问题是,唯一性检查似乎区分大小写,即使the documentation表示默认情况下它应该不区分大小写。因此,鉴于现有记录:
{ :first_name => 'John', :last_name => 'Smith' }
这将被允许:
{ :first_name => 'JOHN', :last_name => 'SMITH' }
以及在名字或姓氏中有任何案例变异的任何其他记录。为什么允许这些记录?如何在两个字段中一起强制使用不区分大小写的唯一性?
答案 0 :(得分:21)
你试过validates_uniqueness_of :first_name, :scope => :last_name, :case_sensitive => false
吗?
documentation says默认为真。
(我认为您提供的链接是一些过时的文档.IIRC,在过去几年中,默认情况确实发生了变化。)