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, значение по умолчанию для этого изменилось за последние пару лет.)