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
妥当性検査の失敗を確認しましたか? – meagar
はい、Deviseを認証に使用しており、すべての検証を削除しようとしました。まだ困った。 – neon
うわー。 nevermind - 実際に検証の失敗を引き起こしていたUserモデルに誤ってafter_saveがありました。おっとっと! – neon