Rails 3.0通过回答问题设置重置密码 [英] Rails 3.0 Devise reset Password by answering a question
本文介绍了Rails 3.0通过回答问题设置重置密码的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!
问题描述
我想知道我可以如何实现这个问题忘记以下逻辑密码:
- 忘记密码页面用户输入用户名
- 下一步应用程序应显示存储在db中的问题。
- 如果答案与存储在db中的值匹配,则用户回答问题和应用程序与答案相匹配。
- 它重定向到编辑密码页面,密码可以更新。
我试图覆盖devise的密码控制器,但被卡住。
提前感谢您的帮助。
注意:我是新的rails和我的第一个项目
解决方案
p>您不需要覆盖 Devise
。
- 使您的自己的
forget_password
路线:
在 routes.rb
:
getforgot_password=> password#忘记
getforgot_password / verify_question=> password#verify_question
postforgot_password / verify_answer=> password#verify_answer
postforgot_password / reset_password=> 密码#重置
- 创建
app / controller / passwords_controller.rb
并通过表单/渲染填写所需的逻辑。 - 创建视图。
- 更改
忘记密码
链接到您自己的 - 利润
I am using devise with rails 3. In user model I have created fields for the question and answer to that question.
I want to know How I can implement forget password in following logic:
- On forget password page User enters the Username
- On Next step application should displays the question stored in db.
- User answers the question and app matches the answer if answer is matched with values stored in db.
- It redirects to edit password page where password can updated.
I tried to override password controller of devise but got stuck.
Thanks for help in advance.
Note: I am new to rails and its my first project
解决方案
You don't need to override Devise
for this.
- make your own
forget_password
routes:
in routes.rb
:
get "forgot_password" => "passwords#forgot"
get "forgot_password/verify_question" => "passwords#verify_question"
post "forgot_password/verify_answer" => "passwords#verify_answer"
post "forgot_password/reset_password" => "passwords#reset"
- Create
app/controller/passwords_controller.rb
and fill out logic you want via forms / render. - Create views.
- Change
forgot password
link to your own. - Profit
这篇关于Rails 3.0通过回答问题设置重置密码的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!
查看全文