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?

Respuestas a la pregunta(1)

Su respuesta a la pregunta