前回の続きです。
Rails 8の認証ジェネレータはサインイン時にパスワードを忘れた場合のソースコードも生成します。
今回はこの場合の動作を確認したいと思います。
サインインしていなければ下記のサインイン画面が表示されます。
パスワードを忘れてしまった場合、画面の下の”Forgot password?”リンクをクリックします。クリックすると下記の画面が表示されます。
メールアドレスを入力して”Email reset instructions”ボタンをクリックします。クリックするとメールが送信されます。
開発環境ではメールが送られてくるかわりに、メールの内容がコンソールに出力されます。
メールにはパスワードをリセットする URL が書かれています。この URL をブラウザで開くとパスワードの更新画面が表示されます。
新しいパスワードを入力してパスワードを更新します。更新に成功するとサインイン画面が表示されます。
以上で更新したパスワードでサインインすることができます。
また開発環境ではメールの内容をブラウザで確認することができます。
Action Mailerのプレビュー機能は、レンダリング用のURLを開くことでメールの外観を確認する方法を提供します。
認証ジェネレータは下記のソースコードを生成します。
test/mailers/previews/passwords_mailer_preview.rb
# Preview all emails at http://localhost:3000/rails/mailers/passwords_mailer
class PasswordsMailerPreview < ActionMailer::Preview
# Preview this email at http://localhost:3000/rails/mailers/passwords_mailer/reset
def reset
PasswordsMailer.reset(User.take)
end
end
コメントに書かれた URL をブラウザで開きます。
open http://localhost:3000/rails/mailers/passwords_mailer/reset
HTMLとプレーンテキストを切り替えて確認できます。
HTML
プレーンテキスト
以上です。
▼この記事がいいね!と思ったらブックマークお願いします
