我是 Rails 的新手,我正在尝试使用 devise 为身份验证部分创建一个应用程序。我注意到的第一件事是我的测试失败了,因为我的用户设备没有 ID,所以我把它放在我的User
模型上
self.primary_key = :id
这有助于我的测试运行,但现在我遇到了另一个问题。每次我尝试添加用户时,Devise 控制器都会失败并显示以下消息:
ActiveRecord::StatementInvalid in Devise::RegistrationsController#create
SQLite3::ConstraintException: users.id may not be NULL: INSERT INTO "users" ("active", "created_at", "current_sign_in_at", "current_sign_in_ip", "default_business_id", "email", "encrypted_password", "first_name", "last_name", "last_sign_in_at", "last_sign_in_ip", "remember_created_at", "reset_password_sent_at", "reset_password_token", "sign_in_count", "updated_at") VALUES (?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?, ?)
为什么没有自动创建用户 ID?我正在使用 Rails 3.2 运行 Devise 2