2012-08-12 29 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驗證衝突。 – 2012-08-12 04:53:53

+0

就是這樣!謝謝。請添加它作爲答案,所以我可以接受它:) – marimaf 2012-08-12 05:01:29

回答

0

如果你在數據庫中有唯一性約束,它可能會與ActiveRecord的唯一性約束相沖突。檢查您的遷移並刪除約束(如果存在)。