Направляющие 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' }

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

14
задан Jimmy Cuadra 6 February 2010 в 23:50
поделиться

1 ответ

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

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

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

21
ответ дан 1 December 2019 в 12:52
поделиться
Другие вопросы по тегам:

Похожие вопросы: