我正在使用railscasts身份验证http://railscasts.com/episodes/250-authentication-from-scratch授权。在保存更改之前,编辑用户配置文件如何检查密码?
完整源代码:https://github.com/ryanb/railscasts-episodes/tree/master/episode-250
答案 0 :(得分:2)
Devise的作用和最好的想法是在您的用户模型中编写update_with_password
方法,该方法在update
的{{1}}操作中调用。此方法使用users_controller
编辑用户模型,但前提是正确指定了当前密码。
如果您想了解有关构建自己的身份验证的更多信息,我建议您查看Devise源代码(以及其他宝石)。
答案 1 :(得分:0)
您应该能够使用在保存任何更改之前输入的密码进行身份验证。与Ryan创建的类似:
如果User.authenticate(params [:email],params [:password]) #保存更改