Rails проверяет_uniqueness_of по нескольким столбцам без учета регистра

StackOverflow https://stackoverflow.com/questions/2215237

Вопрос

У меня есть модель, в которой есть два поля, которые я буду называть first_name и last_name, и я хочу убедиться, что их комбинация уникальна без учета регистра.Я прошел половину пути, используя это:

validates_uniqueness_of :first_name, :scope => :last_name

Проблема в том, что проверка уникальности, похоже, чувствительна к регистру, хотя документация говорит, что по умолчанию он должен быть нечувствителен к регистру.Итак, учитывая существующую запись:

{ :first_name => 'John', :last_name => 'Smith' }

Это будет разрешено:

{ :first_name => 'JOHN', :last_name => 'SMITH' }

А также любая дополнительная запись, в которой есть какое-либо изменение регистра в имени или фамилии.Почему эти записи разрешены?Как я могу обеспечить уникальность без учета регистра в обоих полях вместе?

Это было полезно?

Решение

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

В в документации говорится это верно по умолчанию.

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top