새로운 방법없이 모델 오류보고를 수행 할 수 있습니까? 할 수있다, 그러나모델 새 방법없이보고하는 중 오류가 발생 했습니까?
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
: 당신이 오류를보고 할 때 다음과 같은 컨트롤러 코드 생성 것이 나의 이해이다
def new
@product = Product.new
respond_to do |format|
format.html # new.html.erb
format.json { render json: @product }
end
end
def create
@product = Product.new(params[:product])
respond_to do |format|
if @product.save
format.html { redirect_to @product, notice: 'Product was successfully created.' }
format.json { render json: @product, status: :created, location: @product }
else
format.html { render action: "new" }
format.json { render json: @product.errors, status: :unprocessable_entity }
end
end
end
을 그리고 당신은 그 안에 다음 코드를 사용하여 양식을 만들 것 컨트롤러에서 'create'메서드를 사용하여이 기술을 복제합니까? 예를 들어 form_tag를 사용하여 데이터를 'create'메소드에 전달합니다. 이 같은 아마 뭔가 :
'포스트': 클래스 => '형태의 수평': 스타일 => '텍스트 정렬 : 센터') 할 %> <% unless @product.blank? %>
<% if @product.errors.any? %>
<div id="error_explanation">
<h2><%= pluralize(@product.errors.count, "error") %> prohibited this product from being saved:</h2>
<ul>
<% @product.errors.full_messages.each do |msg| %>
<li><%= msg %></li>
<% end %>
</ul>
</div>
<% end %>
<% end %>
<%= text_area_tag :content, '', :placeholder => 'Ask your classmates anything...' %>
<%= hidden_field_tag :user_id, current_user.id %>
<%= submit_tag 'Post', :class => "btn btn-medium btn-primary post-room-button" %>
<% end %>
내가이 일을 시도하고있다 , 그러나 나는 그것이 작동하도록하는 방법을 찾을 수 없습니다. 내 모델에서 검증에 실패한 양식을 제출할 때마다 페이지는 내 컨트롤러에서 내 respond_to
기능의 '다른'경로로 리디렉션됩니다.