第12章パスワードの再設定
- 本章ではパスワードを忘れてしまった際に、パスワードを再設定するための機能を構築する
つまづいたところ
- 開発環境ではパスワードの再設定に成功するのに、本番環境ではうまくいかない。
- 再設定用のメールは送信されるが、リンク押下時にホーム画面にリダイレクトし、再設定用の画面が表示されない
解決策
- アカウントが有効化されていないユーザで再設定処理を行なっており、
password_resets_controller
のバリデーションに引っかかっていた
app/controllers/password_resets_controller.rb
class PasswordResetsController < ApplicationController
before_action :valid_user, only: [:edit, :update]
.
.
.
def edit
end
private
# 正しいユーザーかどうか確認する
def valid_user
unless (@user && @user.activated? &&
@user.authenticated?(:reset, params[:id]))
redirect_to root_url
end
end
end
- herokuのコンソールから、
activated
の値をtrue
に設定し、解決
覚えたこと
-
git diff HEAD
→全開のコミットからの差分を表示 -
heroku logs
→herokuのログを確認する(-t リアルタイムで確認する)