0

第一次在这里发帖!我正在尝试扩展设计以使用可恢复选项,以便用户可以向自己发送一封电子邮件,其中包含密码重置链接。

我在 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>

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

所以我想了解的事情是:

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

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

Rails 4.2.0
版 Ruby 2.0.0 版

提前致谢。

4

1 回答 1

0

为了拥有和修改设计视图,您应该生成它们。因此,在您的 projet 目录中运行此命令: 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

于 2016-02-19T18:06:55.390 回答