一对属性的唯一性不起作用

时间:2012-08-12 04:40:51

标签: ruby-on-rails-3 validates-uniqueness-of

我有一个用户模型,其中包括电子邮件和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是,所以为什么我会收到此异常以及如何解决?

谢谢!

1 个答案:

答案 0 :(得分:0)

如果db中有唯一性约束,则它可能与ActiveRecord的唯一性约束冲突。检查迁移并删除约束(如果存在)。