0
0

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[createアクションによってデーター送信に失敗した時、エラー文を表示するときの手順]

Last updated at Posted at 2020-09-01

1.エラー文を表示したいビューファイルに記述する。
今回はnew.html.erbに記述する。〇〇は自分で命名する。

<%= render '〇〇/error_messages', model: f.object   %> 

2.〇〇/_error_messages.html.erb
ファイルを作り記述する。

#〇〇/_error_messages.html.erbの内容
<% if 変数A.errors.any? %>
  <div id="error_explanation">
    <ul>
      <% 変数A.errors.full_messages.each do |message| %>
      <li class="error-alert"><%= message %></li>
      <% end %>
    </ul>
  </div>
<% end %>

3.もしデーターが保存できたら、同じコントローラー(今回はitemsコントローラー)のindexアクションに画面遷移して、保存できなかったらitems#newアクションを表示する。

def create
    @item= Item.new(item_params)
     if @item.save
      redirect_to action: 'index'
    else
      render :new
    end
  end

4.これでデーター送信に失敗したら
new.html.erb
<%= render '〇〇/error_messages', model: f.object %>
を記述した箇所にエラー文が表示されるようになる

0
0
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
0

Delete article

Deleted articles cannot be recovered.

Draft of this article would be also deleted.

Are you sure you want to delete this article?