我遵循rails教程並有一個工作用戶系統,但有一件事讓我很煩惱:保存用戶時,即使在控制檯中,也必須關閉驗證因爲如果沒有保存密碼和密碼確認,它將不會保存,並設置爲相同的內容。Rails教程 - 必須保存關閉用戶的驗證
這是一種痛苦,如果我向用戶添加其他重要的驗證,這似乎是潛在的危險。那麼是否有處理這個問題的好方法?真的,我希望驗證只適用於更新來自用戶,而不是來自我自己的代碼。
因此,用戶模型具有這樣的:
validates :password, length: { minimum: 6 }
has_secure_password # this does the hashing, comparisions, etc for us.
validates :password_confirmation, presence: true
創建用戶時,這個偉大的工程,而當用戶編輯他/她的個人資料,因爲它要求的密碼再次進入。但是,對於其他編輯,這很煩人。例如:
user = User.find_by_name("bob")
user.reputation = 200
user.save(validate: false) # I really don't want to have to care about password validations here.
也許會讓您的場景變得更加豐富多彩。您是否在創建用戶之前創建了密碼?或者每次保存新數據時系統都會檢查密碼?或者我還沒有提到的其他一些情況? – 2012-04-28 11:33:29
我編輯過這個來解釋它更好。 – Jords 2012-04-28 11:50:46