error 메시지 부분 템플릿을 만들어 보았습니다.

2357 단어 Rails6
app/controller/ordercontroller.rb
  def create
    @order = Order.new(order_params)
    # binding.pry
    if @order.valid?
      @order.save
      return redirect_to root_path
    else
      render 'index'
    end
  end

  private

  def order_params
    params.require(:order).permit(:price)
  end

부분 템플릿에서 index로 render로 호출했습니다.

app/view/layouts/_error_messages.html.erb
<% if model.errors.any? %>
  <div class="error-alert">
    <ul>
      <% model.errors.full_messages.each do |message| %>
        <li class='error-message'><%= message %></li>
      <% end %>
    </ul>
  </div>
<% end %>

결과





성공입니다.

좋은 웹페이지 즐겨찾기