【Rails】devise - current_userがログイン状態の時間切れでnilになる
経緯
・ユーザー登録・ログイン機能の実装のまとめ・整理の備忘録
・開発環境localhostで動作確認をしていたら
今まで問題のなかった動作が
いきなりcurrent_userがnilという旨のエラーが発生
→ アカウント作成(RegisterController#create)の後ログイン状態が維持されていない
内容
・アカウント作成を行なった後、ログイン状態が維持されない場合の対処
対処
class RegistrationsController < Devise::RegistrationsController # 変更前:ソースコードのRegistrationsController#createのまま使用 ↓ # 変更後:bypass_sign_inメソッドを使ってオーバーライド + def create + super + bypass_sign_in(@user) + end end
参考
・deviseでログイン状態が維持できない際の対応 - Qiita
・Ruby - deviseで突然current_userが使えなくなった|teratail