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