【问题标题】:Rails pass user email to forgot password formRails 通过用户电子邮件忘记密码表单
【发布时间】: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>

标签: javascript ruby-on-rails devise


【解决方案1】:

试试这个

 <%= f.email_field :email, autofocus: true, object: resource %></div>

【讨论】:

  • 试过了,但不幸的是它什么也没做。但是如果我设置 value: resource 我会得到这个形式:#<0x007f512c91ee78>
猜你喜欢
  • 2017-11-12
  • 1970-01-01
  • 2016-08-31
  • 1970-01-01
  • 2013-03-22
  • 2011-09-20
  • 2018-08-17
  • 2011-02-19
  • 2011-05-04
相关资源
最近更新 更多