パスワードを忘れた方のフォームにユーザーのメールアドレスを入力して送信すると、 というエラーが表示されます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 のルート (カスタム セッションと登録コントローラーがあります):
devise_for :users, :controllers => {:sessions => 'sessions', :registrations => 'registrations'}
デバイスのパスワードを忘れた場合の機能を設定するにはどうすればよいですか? このエラー メッセージが表示されるのはなぜですか? また、そのクラスがそこに追加されるのはなぜですか?
私はもう試した:
- 独自のパスワード コントローラーを追加し、カスタム コントローラーに新しいルートを追加します。同じエラー
- 独自のクラスと ID をフォームに追加します。これにより、フォームの id とクラスが正常に変更されますが、クラスと id に戻ります
new_user
ありがとう。