Rails validates_uniqueness_of en varias columnas con mayúsculas y minúsculas
Tengo un modelo que tiene dos campos, que llamaré first_name y last_name, y quiero asegurarme de que la combinación de los dos no distinga entre mayúsculas y minúsculas. Llegué a la mitad al usar esto:
validates_uniqueness_of :first_name, :scope => :last_name
El problema es que la comprobación de unicidad parece ser sensible a mayúsculas y minúsculas, aunquela documentación dice que debería ser insensible a mayúsculas y minúsculas por defecto. Entonces dado un registro existente:
{ :first_name => 'John', :last_name => 'Smith' }
Esto será permitido:
{ :first_name => 'JOHN', :last_name => 'SMITH' }
Además de cualquier registro adicional donde haya alguna variación de mayúsculas y minúsculas en el nombre o el apellido. ¿Por qué se permiten estos registros? ¿Cómo puedo hacer cumplir la unicidad entre mayúsculas y minúsculas en ambos campos juntos?