我的用戶模型包含:名稱,電子郵件和密碼字段。所有3個都有長度驗證。 「更新帳戶」網頁允許用戶更新他的姓名和電子郵件地址,但不是密碼。提交時,params [:user]是在Rails 3中,當我不試圖更新密碼時,如何跳過驗證密碼字段?
{"name"=>"Joe User", "email"=>"[email protected]"}
請注意,沒有「密碼」鍵,因爲表單不包含這樣的輸入字段。
當我打電話
@user.update_attributes(params[:user])
密碼驗證失敗。但是,由於我沒有嘗試更新密碼,因此我不希望在此更新上運行密碼驗證。我很困惑爲什麼當params [:user]不包含「密碼」鍵時密碼驗證正在運行。
請注意,我想在其他地方有一個單獨的網頁,允許用戶更新他的密碼。而對於那個提交,密碼驗證應該運行。
謝謝。
它不應該運行密碼驗證,並且如果密碼字段有效首先關閉,它將失敗。你說你沒有通過密碼,但我有你的懷疑。 – 2010-08-22 22:59:48