2012-08-12 2 views
0

У меня есть модель пользователя, который имеет среди прочего по электронной почте и university_idУникальность пары атрибутов не работает

я добавил следующую строку в моей модели файла:

validates_uniqueness_of :email, :scope => [:university_id] 

, но когда Я пытаюсь создать пользователь с тем же электронной почтой, но с другим university_id я получаю следующее сообщение об ошибке:

ActiveRecord::RecordNotUnique in UsersController#create 

SQLite3::ConstraintException: column email is not unique: INSERT INTO "users" ("name", "email", "password", "created_at", "updated_at", "university_id") VALUES ('my name', 'myusername', 'asdfgh', '2012-08-12 04:31:39.135115', '2012-08-12 04:31:39.135115', 2) 

Я знаю, что электронная почта не является уникальной, но адрес электронной пары, university_id есть, так почему же я получить это исключение и как я могу его исправить?

Спасибо!

+0

Проверьте свою миграцию, вы создали столбец с ограничением уникальности? Если вы это сделали, вы должны удалить его - он конфликтует с проверкой activerecord. –

+0

Вот и все! Спасибо. Пожалуйста, добавьте его в качестве ответа, чтобы я мог его принять :) – marimaf

ответ

0

Если у вас есть ограничение уникальности в вашем db, оно может конфликтовать с ограничением уникальности ActiveRecord. Проверьте свои миграции и удалите ограничение, если оно существует.

Смежные вопросы