Rails validates_uniqueness_of для нескольких столбцов с учетом регистра - PullRequest
14 голосов
/ 07 февраля 2010

У меня есть модель, которая имеет два поля, которые я назову 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 Ответ

21 голосов
/ 07 февраля 2010

Вы пробовали validates_uniqueness_of :first_name, :scope => :last_name, :case_sensitive => false?

Документация гласит это по умолчанию.

(Я думаю, что вы дали ссылку на устаревшую документацию. IIRC, значение по умолчанию для этого изменилось за последние пару лет.)

...