无法使用ActiveRecord.update_attributes保存数据

时间:2013-06-18 21:06:12

标签: ruby-on-rails ruby sqlite activerecord ruby-on-rails-3.2

我正在关注轨道教程,我坚持第7章(图7.8附近)

我无法使用ActiveRecord类的update_attributes方法更新属性

我正在采取的确切步骤和错误给了我:

    1.9.3p392 :026 > user = User.first
  User Load (0.3ms)  SELECT "users".* FROM "users" LIMIT 1
 => #<User id: 1, name: "John Denisov", email: "denisov@gmail.com", created_at: "2013-06-17 19:49:49", updated_at: "2013-06-17 19:49:49", password_digest: "$2a$10$eU2XgCqdKP9iBf7.2J4rKuBYmyicO42uahlm3DWwT7Xe..."> 
1.9.3p392 :027 > user.update_attributes(name: "Example User", email: "example@railstutorial.org", password: "foobar", password_confirmation: "foobar")
   (0.1ms)  begin transaction
  User Exists (0.3ms)  SELECT 1 AS one FROM "users" WHERE (LOWER("users"."email") = LOWER('example@railstutorial.org') AND "users"."id" != 1) LIMIT 1
   (0.1ms)  rollback transaction
 => false 

为什么它会给我用户存在错误?这有点显而易见,我正在尝试更新,而不是创建 数据库条目。

1 个答案:

答案 0 :(得分:1)

您对电子邮件进行了唯一性验证,并且数据库中已存在针对其他用户的电子邮件example@railstutorial.org

尝试使用其他电子邮件地址。