2011-09-13 12 views
1

以下のように、Rubyのコンソール内で更新機能が動作していますが、この特定のユーザのために更新がデータベースに反映されていません。Rubyの更新方法

他のすべてのユーザーにとっては、完全に動作し、update_allを使用するだけでなく、他のすべてのユーザーも更新されます。どんな考え?

ruby-1.9.2-p290 :002 > User.update(51, :introduction => "testupdate") 
    User Load (0.2ms) SELECT "users".* FROM "users" WHERE "users"."id" = ? LIMIT 1 [["id", 51]] 
    (0.3ms) UPDATE "users" SET "introduction" = 'testupdate', "updated_at" = '2011-09-13 18:53:25.896711' WHERE "users"."id" = 51 

=> #<User id: 51, email: "[email protected]", introduction: "testupdate", created_at: "2011-09-13 18:45:18", updated_at: "2011-09-13 18:53:25"> 

FYI私は更新しようとしているユーザーがログインして手動で作成したユーザーだけで、他はseeds.rb

+1

妥当性検査の失敗を確認しましたか? – meagar

+0

はい、Deviseを認証に使用しており、すべての検証を削除しようとしました。まだ困った。 – neon

+0

うわー。 nevermind - 実際に検証の失敗を引き起こしていたUserモデルに誤ってafter_saveがありました。おっとっと! – neon

答えて

1

を経由してダミーのアカウントとして作成されている私は、誤ってユーザーでafter_saveを持っていました実際に検証に失敗したモデルです。ありがとうございます@メガガール

関連する問題