認証にDeviseを使用しているRailsアプリがあります。Devise では、ユーザーがクリックして、パスワードをリセットするためのリンクを含む電子メールを取得できます。
私の問題は、テーブル「ユーザー」に電子メールフィールドが必要ないことです。認証するためのログイン フィールドがあり、別のシステムから sincronized されます。メールを必須に設定できません。
電子メールが設定されていない場合は、電子メール フィールドを確認し、カスタム メッセージをユーザーに返したいと考えています。そうであれば、Devise は続行してパスワードをリセットします。
別の投稿で、「email_required?」メソッドをオーバーライドする必要があることを見ました。ユーザーモデルでは、「電子メールは空白にすることはできません」というエラーメッセージが表示されます。
def email_required?
false
end