[問題] 請問 validates_presene_of 的問題?

看板Ruby作者 (shadow)時間17年前 (2007/05/24 17:16), 編輯推噓2(202)
留言4則, 2人參與, 最新討論串1/2 (看更多)
我的 User model 裡面有兩個虛擬欄位 password, password_confirmation 用來讓使用者確認密碼 用了 validates_presence_of :password, :password_confirmation 來確認使用者是否有輸入密碼 然後密碼是用 salt + hash 不可逆編碼存在資料庫裡 在編輯使用者資料時,若在 form 裡面沒有更新密碼的時候,action 抓到的 password 會是空欄位,造成無法通過驗證,但是又不可能從資料庫裡的資料 反推出原來的密碼,這樣要怎麼更新使用者資料,不更新密碼,又不會引起 驗證錯誤呢? 儲存的方法是 user.update_attributes(params[:user]) 用 update_attribute 更新個別欄位的時候好像不會引起驗證的動作, 但是一個一個更新的作法好像有點醜,而且也必須犧牲其他欄位的驗證 @@" 謝謝 m(_ _)m -- ※ 發信站: 批踢踢實業坊(ptt.cc) ◆ From: 210.69.49.253 ※ 編輯: suomax 來自: 218.175.74.124 (05/24 18:08)

05/25 02:32, , 1F
加上 ":on => :create" ?
05/25 02:32, 1F

05/25 07:30, , 2F
但是我在update user的時候也需要作驗證,只是如果使用者沒
05/25 07:30, 2F

05/25 07:31, , 3F
password/password_confirmation的時候就skip該欄位
05/25 07:31, 3F

05/25 07:32, , 4F
除非是在create的情況下
05/25 07:32, 4F
文章代碼(AID): #16LLVba9 (Ruby)
文章代碼(AID): #16LLVba9 (Ruby)