1
레일 시작 안내를 검토하고 주석에 오류 유효성 검사를 추가하지만 오류가있는 경우 양식이 다시 채워지지 않습니다.오류가있는 경우 다른 컨트롤러에서 양식을 다시 채우는 방법
은 내가 플래시 오류를 (제대로 작동)을 확인하지만 오류가있는 경우 내 양식이 비어 될 /car/show.html.erb
에서 날짜를 게시 할 수 있습니다. 내 comments_controller.rb
컨트롤러의 코드를 아래
: 자동차 아래
def create
@car = Car.find(params[:car_id])
if @comment = @car.comments.create(params[:comment].permit(:email,:sujet,:commentaire))
flash[:error] = @comment.errors
flash.keep[:error]
render 'car/show'
else
redirect_to car_path(@car)
end
end
/show.html.erb
<h1>Fiche détaillée</h1>
<%= @car.marque %><br>
<%= @car.modele %><br>
<%= @car.nbkm %><br>
<%= @car.couleur %><br>
<%= @car.disponibilite %><br>
<hr>
<h1><%= pluralize(@car.comments.count,'Commentaire') %></h1>
<% @car.comments.each do |k| %>
<%= k.email %><br>
<%= k.sujet %><br>
<%= k.commentaire %><br>
<hr>
<% end %>
<hr>
<h1>Ajouter votre commentaire</h1>
<div style='width:300px;'>
<% flash.each do |key, msg| %>
<p class="bg-danger" style='padding:10px;'><%= pluralize(msg.count,'error') %></p>
<ul><% msg.full_messages.each do |m|%>
<li><%= m %></li>
<% end %>
<% end %>
</ul>
<%= form_for ([@car,@car.comments.build]) do |co| %>
<%= co.label :'Email' %><br>
<%= co.text_field :email , class: 'form-control' %><br>
<br>
<%= co.label :'Sujet' %><br>
<%= co.text_field :sujet , class: 'form-control'%><br>
<br>
<%= co.label :'Commentaire' %><br>
<%= co.text_area :commentaire , class: 'form-control' %><br>
<br>
<%= co.submit :'Envoyer votre commentaire', class: 'btn btn-info'%>
<% end %>
나는 컨트롤러가 동일하지 않을 때 렌더링을 처리하는 방법을 모르겠어요.
작동하지 않습니다. ( – CodeRevenger
오류? 자동차/쇼 방법을 보여줄 수 있습니까? –
자, 폼에 @comment를 사용하고 있다고 가정합니다. 그 선언을'@comment = Comment.new' 또는'@comment = @ car.build_comment'와 같이'car/show' 메소드로 옮깁니다 –