Rails validates_uniqueness_of для нескольких столбцов с нечувствительностью к регистру
У меня есть модель, которая имеет два поля, которые я буду называть first_name и last_name, и я хочу убедиться, что комбинация из них не зависит от регистра. Я получил на полпути, используя это:
validates_uniqueness_of :first_name, :scope => :last_name
Проблема в том, что проверка уникальности кажется чувствительной к регистру, хотя в документации говорится, что по умолчанию она не должна быть чувствительной к регистру. Итак, учитывая существующую запись:
{ :first_name => 'John', :last_name => 'Smith' }
Это будет разрешено:
{ :first_name => 'John', :last_name => 'Smith' }
Также как и любая дополнительная запись, в которой есть какое-либо изменение в случае, как в первом, так и в последнем имени. Почему эти записи разрешены? Как я могу принудительно применять нечувствительность к регистру в обоих полях?
Ответы
Ответ 1
Вы попробовали validates_uniqueness_of :first_name, :scope => :last_name, :case_sensitive => false
?
Документация сообщает по умолчанию значение true.
(Я думаю, что ссылка, которую вы указали, - это некоторая устаревшая документация. IIRC, значение по умолчанию для этого изменилось за последние пару лет.)