0
在Chapter 7從邁克爾哈特爾的教程存在具有定義爲attr_accessor和還與存在驗證作爲attr_accessible密碼屬性的用戶模型< code here>。更新從已經需要attr_acessors檢索到的對象的屬性邁克爾哈特爾的
問題是:如果我檢索一個存在的用戶並嘗試更新其電子郵件,ruby會拋出一個聲明其密碼的異常,並且每次我想更新任何其他屬性時我都會重新設置密碼。例如:
User.first.update_attributes!(:email => "[email protected]")
ActiveRecord::RecordInvalid: Validation failed: Password can't be blank, Password is too short (minimum is 6 characters)
我添加「:關於=>:創建」旁邊的密碼的存在驗證器,它似乎解決問題。這是關於登錄系統的正確解決方案嗎?
任何完成Michael Harlt教程的人都知道這是錯誤還是他的真實意圖?
這可以工作,但我也想確保用戶填寫創建步驟的密碼字段,這就是爲什麼我添加了密碼(虛擬的)的存在驗證程序。 – 2011-06-08 18:49:24
如果您爲password_hash字段創建驗證器,那麼它將工作,因爲password =會更新該列。 – Maz 2011-06-10 11:08:59
聰明的主意!謝謝你Maz! – 2011-06-10 11:18:11