使用heroku,我試圖更新記錄。Rails - 更新記錄?
這是我做過什麼:
@user = User.find(11)
@user.email = '[email protected]'
@user.save
>> true
但後來當我做User.find(11),電子郵件不更新?任何想法爲什麼?
使用heroku,我試圖更新記錄。Rails - 更新記錄?
這是我做過什麼:
@user = User.find(11)
@user.email = '[email protected]'
@user.save
>> true
但後來當我做User.find(11),電子郵件不更新?任何想法爲什麼?
我會推薦在@user.save
後嘗試@user.reload
。上面嘗試@user.save!
(閱讀 - 「@user dot save bang」)的建議也很好,因爲如果在保存@user
時驗證失敗,它將引發錯誤。
希望有所幫助。
也嘗試@user.save!
如果任何驗證出錯,將會出現錯誤。但是,如果@user.save
給出了真實的,那麼我沒有看到它沒有保存到數據庫的任何原因。
如果你得到true
那麼你不必擔心沒有被驗證的記錄。真的告訴你它確實得救了。但使用@user.save!
(如上面提到的@rubyprince)是一個好習慣。這樣,將會引發無效的更新嘗試。
此外,你確定它沒有得到更新?如果你正在使用數據庫後端,我會直接去數據庫,而不是依賴於User.find()
你也可以嘗試做User.find(11).reload
看看是否有效。你可以找到一些信息here約reload
。所以你可以嘗試這樣的...
user = User.find(11).reload
puts user.email
然後看看電子郵件是否改變。
這是確切的代碼?因爲您沒有關閉電子郵件中的報價。 – acconrad 2011-02-11 03:03:40