学習記録

アウトプット用に作りました

flashメッセージを表示する

flashメッセージとは

Webサービスにて何かの処理を行なった際、
それが正しく行われたかをユーザー側で確認できるよう、
メッセージで表示させるための機能です。
例えば、ログインが成功しましたよ、失敗しましたよ、
などのメッセージを表示することでユーザーが状況を知ることができます。


使い方

Railsのデフォルトでは、alertとnoticeのスタイルが用意されていますが、
Bootstrapを導入している場合は、flashメッセージで
success, info, warning, dangerのスタイルが用意されています。
この4種類を使うために、application_controller.rbにflashの定義を行います。

 add_flash_types :success, :info, :warning, :danger


ログインが成功したときのflashメッセージを出力したいときは、

(user_sessions_controller.rb)
redirect_to root_path, success: 'ログインに成功しました'

このようにapplication_controller.rbで定義したので、
flash: { success: 'ログインに成功しました' }と記載しなくても良いです。


ビューファイルにコントローラで定義したflashメッセージを出力します。

<% flash.each do |message_type, message| %>
  <div class="alert alert-<%= message_type %>"><%= message %></div>
<% end %>

パーシャルテンプレートとして用意しておくと、
色々なページでエラーメッセージを使用できる汎用的な作りにすることができます。

パーシャルテンプレートを呼び出すときはrenderを使います。