2011-08-02 38 views

回答

0

你就應該能夠使用保存任何更改之前,對輸入的密碼進行身份驗證。類似於瑞恩對創建:

如果User.authenticate(PARAMS [:電子郵件],則params [:密碼]) #保存更改

+0

是的,儘管它有一些限制,例如,如果密碼本身可以在編輯表單中更改,或者電子郵件可以更改或者甚至不是表單的一部分,它會變得更加複雜。 –

2

設計做什麼,可能是最好的辦法是寫一個您的用戶模型中的update_with_password方法在您的users_controllerupdate操作中調用。此方法使用update_attributes來編輯用戶模型,但只有在正確指定當前密碼的情況下才可以。

如果您想了解更多關於構建自己的身份驗證的信息,我建議您查看Devise源代碼(以及其他寶石)。