0

私はrailstutorialに従っていて、第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 

User Exists エラーが発生するのはなぜですか? データベースエントリを作成するのではなく、更新しようとしているのは明らかです。

4

1 に答える 1

1

電子メールの一意性検証があり、電子メールexample@railstutorial.orgは別のユーザーのデータベースに既に存在します。

別のメールアドレスで試してください。

于 2013-06-18T21:08:57.560 に答える