※2022年から技術系の記事は個人ブログに投稿しております。ぜひこちらもご覧ください→yamaday0u Blog
アプリ開発で、トップページを作成する前にdeviseを用いてユーザー管理機能を実装していたところ、分かっているようで分かっていなかったdeviseのリダイレクトの仕様に気づいたので記録として残します。
deviseの仕様に気づいたきっかけ
トップページを作成する前に、deviseで新規登録機能を実装し、ローカル環境(localhost:3000)で動作確認をしたところ、新規登録後にRailsのお馴染みのトップページにリダイレクトしたことです。
新規登録の処理後はルートパスにリダイレクトする
新規登録機能(コントローラ:devise/registration#create)の処理後は、ルートパス(root_path)にリダイレクトされます。
route.rb
でルートパス(root_path)を設定していなかった場合、先程のRailsのお馴染みのトップページが表示されることになります。
ログアウトの処理後はログイン画面にリダイレクトする
ログアウト機能(コントローラ:devise/sessions#destroy)の処理後は、ログイン画面(コントローラ:devise/sessions#new)にリダイレクトされます。
先述の新規登録→ルートパスへのリダイレクトに気づいて、「じゃあ、ログアウト後はどこにリダイレクトされるんだろう?」と思って確認したところ、ログイン画面にリダイレクトされることが分かりました。