2011-09-13 79 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

哇。從來沒有 - 我意外地在用戶模型中有一個after_save,實際上導致驗證失敗。哎呀! – neon

回答

1

我不小心在用戶有一個after_save的模型實際上導致驗證失敗。謝謝@meagar