当用户的电子邮件输入到忘记密码表单并提交时,我收到一条错误消息login can't be blank
。我四处devise.en.yml
寻找此错误消息,但似乎无法在任何地方找到它。
这是我的views/devise/passwords/new.html.haml
:
%div.registration_page
%h2 Forgot your password?
= form_for(resource, :as => resource_name, :url => user_password_path, :html => { :method => :post, :id => 'forgot_pw_form', :class => 'forgot_pw' }) do |f|
%div
= f.email_field :email, :placeholder => 'Email', :autofocus => true, :autocomplete => 'off'
%div.email_error.error
%input.btn.btn-success{:type => 'submit', :value => 'Send Instructions'}
= render "devise/shared/links"
该表格正在发布users/password
,但我注意到我的忘记密码表格附加了class = 'new_user'
. 这是我的表单显示的内容:
<form accept-charset='UTF-8' action='/users/password' class='new_user' id='forgot_pw_form' method='post' novalidate='novalidate'></form>
我的设计路线(我有自定义会话和注册控制器):
devise_for :users, :controllers => {:sessions => 'sessions', :registrations => 'registrations'}
如何设置设备的忘记密码功能?为什么我会收到此错误消息,为什么要在此处添加该类?
我试过了:
- 添加我自己的密码控制器并为我的自定义控制器添加新路由。同样的错误
- 将我自己的类和 id 添加到表单中。这成功更改了表单的 id 和 class,但恢复为 class 和 id
new_user
谢谢。