0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?

More than 3 years have passed since last update.

Rails flashの使い方

Last updated at Posted at 2021-07-27

###flashメッセージとは
何らかのアクションがあった時に一時的に表示させるメッセージのことです。
ログインや投稿の際に使用します。

#コントローラー
flash(:キー名) = 'メッセージ内容'
#ビュー
flash(:キー名)

###flashとflash.now
flash=次のアクションまでデータを保持する。redirect_toと一緒に使う。
flash.now=次のアクションに移行した時点でデータが消える。renderと一緒に使う。

redirect_to=処理を強制的に指定の場所にとばす。
render=アクションの実行はせずに指定の場所を表示する。

#例 コントローラー

def create
  @task = Task.new(task_params)

  if @task.save
    flash[:success] = '正常に送信されました'
    redirect_to @task
  
  else
    flash.now[:danger] = '送信されませんでした'
    render :new
  end
end
#例 ビュー
<% flash.each do |message_type, message| %>
    <div><%= message %></div>
<%= end %>

#@task.save が成功すると、message_typeに[:success]、messageに'正常に送信されました'が代入される。

flashはハッシュなので、eachで取り出すと|kye, value|で取り出されます。

0
1
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
1

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?