Carriles validates_uniqueness_of en varias columnas con mayúsculas y minúsculas
-
19-09-2019 - |
Pregunta
Tengo un modelo que tiene dos campos, que llamaré nombre apellido y apellidos, y yo quiero estar seguro de que la combinación de los dos son únicos mayúsculas y minúsculas. He llegado a mitad de camino a través de este:
validates_uniqueness_of :first_name, :scope => :last_name
El problema es que el control de la unicidad parece ser sensible a mayúsculas, a pesar de que la documentación dice que debe ser sensible a mayúsculas por defecto. Así que 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 cuando hay alguna variación del caso, ya sea en el primer o el apellido. ¿Por qué se permitió que estos registros? ¿Cómo se cumplen caso singularidad insensibles a través de ambos campos juntos?
Solución
¿Usted intentó validates_uniqueness_of :first_name, :scope => :last_name, :case_sensitive => false
?
dice es cierto por defecto.
(creo que el enlace que dio es que alguna documentación obsoleta. IIRC, el valor predeterminado para este cambió en el último par de años.)