flashメッセージとは
アクション実行後に簡単なメッセージを表示させるRailsの機能。
コントローラーに記述
flashuの書き方
flash[:キー名]="表示したいメッセージ"
これはコントローラに記述する。
キー名は好きな名前をつけることができる。
# 例)
flash[:notice] = "お知らせです"
flash[:alert] = "警告です"
フラッシュメッセージを表示させる箇所にはviewファイルに以下のように記載する。
<%= flash[:キー名] %>
noticeとalertオプション
キーには好きな名前をつけることができるが、notice
とalert
は、<%= flash[:キー名] %>
と書く必要がない。viewファイルは以下のようにflashを省略してかける。
<%= notice %>
<%= alert %>
他のキー名でもまとめて書くことができるその場合は下記のようになる。
redirect_to ("パス"), flash{キー名: '表示するメッセージ' }
redirect_toでnoticeとalertを使う時はまとめて書くことができる
redirect_to ("パス"), notice: '表示するメッセージ'
class TasksController < ApplicationController
def index
@tasks = Task.order(created_at: :desc) # order(created_at: :desc)は作成順に降順に並び替え、タスクを取得
@tasks = Task.new # 新しいTaskオブジェクトを作成
end
def create
@task =Task.new(task_params) # フォームの入力値を使って新しいTaskオブジェクトを作成
if @task.save # @taskをデータベースに保存したとき
redirect_to root_path, notice: "タスクを作成しました"
# noticeはflashメッセージの成功通知 root_pathはトップページへリダイレクト
end
end