【发布时间】:2011-01-13 23:41:57
【问题描述】:
我有一个模型,它有两个字段,我将其称为 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' }
以及在名字或姓氏中有任何大小写变化的任何附加记录。为什么允许这些记录?如何在两个字段中同时强制执行不区分大小写的唯一性?
【问题讨论】:
标签: ruby-on-rails scope case-insensitive validates-uniqueness-of