rails框架Hobo非常出色,它会自动创建第一个用户作为管理员用户(除非您要求它不这样做)。我遇到的问题是,在开发中运行rails时,我记不住密码是什么。这应该很简单,因为我只是运行rails console,找到用户admin = User.find :first并重置密码(尝试)
admin.password = 'Anything1234'
admin.password_confirmation = admin.password
admin.save
>false
admin.errors
>{:current_password=>["is not correct"]}也就是说,在更改现有密码之前,需要正确设置变量current_password。
恐怕Hobo文档在这种情况下没有帮助。有没有人知道如何驱动Hobo用户模型重置密码?
发布于 2012-04-18 02:57:19
4种可能的解决方案:
1:运行你的应用程序,点击忘记密码链接。该消息将出现在您的日志中,因此您不需要设置邮件程序。
2:只保存,不做任何验证:
admin.save(false)编辑:在Rails 3中,这是
admin.save(:validate => false)3:另一种选择是删除所有用户,这样您就可以恢复初始用户输入屏幕。
4:如果您真的想运行验证,可以触发request_password_reset生命周期:
admin.lifecycle.request_password_reset!(Guest.new)然后在开发日志中查找重置密码密钥
u.lifecycle.reset_password!(Guest.new, :key => 'a0a2db1035065fa7ad5d46d35669d206aee73668', :password=>"test123", :password_confirmation=>"test123")发布于 2012-04-17 22:45:21
可以,您需要先设置current_password,然后再设置password和password_confirmation字段。这是为了阻止用户在最初不知道密码的情况下更改密码。
因此,您需要这样做:
admin.current_password = 'password'
admin.password = 'Anything1234'
admin.password_confirmation = admin.password
admin.savehttps://stackoverflow.com/questions/10193415
复制相似问题