フラッシュメッセージの実装
<やること>
・ログイン、ログイン失敗、ログアウトのフラッシュメッセージの実装方法。
・フラッシュメッセージの表示を viewに追加する際、パーシャルを用いる。
①コントローラー全体にフラッシュメッセージの定義をする。
app/controllers/application_controller.rbは
コントローラー全体に設定を反映することができるため
をapplication_controller.rbに記載する。
②ログイン・ログアウトの際のフラッシュメッセージを追加
今回はログイン、ログアウト関連なので
app/controllers/user_sessions_controller.rbにフラッシュメッセージを追加していく。
より見やすくするため、flashを省略し、直接redirect_(省略)に1行で書けるかたちにする。
success: t('.create.success')の部分がメッセージそのものになっていないのは、
後ほど、翻訳(i18n)を用いるため。
③フラッシュメッセージのパーシャルを作成する
パーシャルはファイル名の最初に「_」を入れて作成する。
app/views/shared/_flash_message.html.erbを作成。
上記のように記載する。
④パーシャルをレイアウトに追加する
app/views/layouts/application.html.erb に記載した内容は他のviewに反映することが
できるために以下を埋め込む。
ファイル名は_flash_message.html.erbだったが、埋め込む際は「_」を除く必要がある。
⑤フラッシュメッセージの翻訳定義を追加
config/locales/views/ja.ymlに表示したいフラッシュメッセージの文言を追加していく。
※少しインテンドがズレるだけで、表記がきちんとできなくなるので注意が必要。
追記をしている内にズレて表記されなくなることがあった。