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は一意です。なぜこの例外が発生するのでしょうか。また、どうすれば修正できますか?

ありがとう!

4

1 に答える 1

0

データベースに一意性制約がある場合、ActiveRecordの一意性制約と競合する可能性があります。移行を確認し、制約が存在する場合は削除します。

于 2012-08-12T06:09:01.390 に答える