【发布时间】:2014-08-04 11:14:42
【问题描述】:
我使用 devise 来集成用户注册和登录。现在我也忘记密码页面了。
将用户电子邮件从登录表单上的 user_email 文本字段传递到忘记密码表单的最佳方式是什么,这样用户就不需要输入他/她的电子邮件两次?
忘记密码页面的链接:
<%- if devise_mapping.recoverable? && controller_name != 'passwords' && controller_name != 'registrations' %>
<%= link_to "Forgot your password?", new_password_path(resource_name) %><br />
<% end -%>
登录表格:
<%= form_for(resource, as: resource_name, url: session_path(resource_name)) do |f| %>
<div><%= f.label :email %><br />
<%= f.email_field :email, autofocus: true, :required => true %></div>
<div><%= f.label :password %><br />
<%= f.password_field :password, autocomplete: "off", :required => true %></div>
<% if devise_mapping.rememberable? -%>
<div><%= f.check_box :remember_me %> <%= f.label :remember_me %></div>
<% end -%>
<div><%= f.submit "Sign in" %></div>
<% end %>
忘记密码表格:
<%= form_for(resource, as: resource_name, url: password_path(resource_name), html: { method: :post }) do |f| %>
<%= devise_error_messages! %>
<div><%= f.label :email %><br />
<%= f.email_field :email, autofocus: true %></div>
<div><%= f.submit "Send me reset password instructions" %></div>
<% end %>
【问题讨论】:
-
resource已经有current_user的详细信息 -
谢谢。它返回 #<0x007f512c91ee78>0x007f512c91ee78>
标签: javascript ruby-on-rails devise