📑
[Rails]flashの使い方
flashとは
一時的にデータを保持して一度使用後に消去される性質を持つ。
アクション実行後に簡単なメッセージを表示させることができます。
ログイン周りの処理において特に重宝されます。
使用方法
2パターンあります。
1つ目
コントローラー
def create
board = Board.create(board_params)
flash[:notice] = "「#{board.title}」の掲示板を作成しました"
redirect_to board
#binding.pry
end
flash[:notice] = "「#{board.title}」の掲示板を作成しました"
で定義し、
Viewで埋め込む
view
<% if flash[:notice] %>
<div class="alert alert-primary"><%= flash[:notice] %></div>
<% end %>
2つ目
コントローラー
def destroy
@board.destroy
redirect_to boards_path, flash: { notice: "「#{@board.title}」の掲示板が削除されました" }
end
flash: { notice: "「#{@board.title}」の掲示板が削除されました" }
をリダイレクトの引数に定義する
(viewの定義は1つ目と同じ)です。
flashとflash.now
flash
次のアクション終了までデータを保持する
flash.now
次のアクションに移行した時点でデータを消去する
Discussion