设计可恢复 - 创建一个视图供用户发送重置密码电子邮件

Devise recoverable - creating a view for the user to send the reset password email

首先post这里!我正在尝试扩展设计以使用可恢复选项,以便用户可以向自己发送一封包含密码重置 link 的电子邮件。

我的 user.rb 模型中设置了可恢复选项:

devise :database_authenticatable, :registerable, :recoverable, :rememberable, :trackable, :validatable, :confirmable, :omniauthable, :omniauth_providers => [:facebook]

我在 views/devise/sessions/new 的登录表单中添加了以下内容。html:

<div class="form-group">
          <%= f.label :password_confirmation, class: "sr-only" %>
          <%= f.password_field :password_confirmation, placeholder: "Confirm Password", autocomplete: "off", class: "form-control"  %>
        </div>

但是,当我单击 link 时,它会将我带到 http://localhost:3000/users/password/new,该页面是空白的(它拉入了页眉和页脚但没有内容)这对我来说表明我有页面已经存在但无法在我的代码库中找到它,这是否正确?我假设如果我还没有那个页面,它会抛出 404 错误?

所以我想了解的是:

a) 如何创建新视图并在该视图中显示它 URL b) 我需要添加电子邮件表单和提交按钮,但是这段代码是什么样的?

任何帮助将不胜感激,我知道这可能是非常基本的东西,我似乎无法理解它!

Rails 版本 4.2.0
Ruby 版本 2.0.0

提前致谢。

为了拥有和修改设计视图,您应该生成它们。所以 运行 这个命令在你的项目目录中: rails generate devise:views 这将在 "prject_path/app/views/devise" 中生成视图,这些视图将用于所有设计模型。如果你有不止一种设计模型,你应该使用: rails generate devise:views model_name 这将生成 "prject_path/app/views/model_name" 并且仅用于一个模型。 重置密码视图是 "prject_path/app/views/devise/passwords/edit.html.erb" 并且它具有所需的功能,但为了发送邮件,您应该设置您的应用程序。我推荐你这个:Getting Devise 1.3.4 to send emails with Gmail in development