フォームのパーシャルで検証エラーをレンダリングしようとしています。
私は持っている :
resas/_form.html.erb
<%= form_for ([@resa, Resa.new]) do |f| %>
<% if @resa.errors.any? %>
<% @resa.errors.full_messages.each do |msg| %>
<h3><%= msg %></h3>
<% end %>
<% end %>
...
<div class="actions">
<%= f.submit %>
</div>
と呼ばれる別のパーシャルを介して、このフォームをインデックス ビューに表示します_agenda
。
resas/index.html.erb
<%= render "shared/agenda" %>
shared/_agenda.html.erb
<%= render "resas/form" %>
コントローラーで:
def create
@resa = Resa.new(params[:resa])
respond_to do |format|
if @resa.save
format.html { redirect_to resas_path, notice: 'Resa was successfully created.' }
format.json { render json: @resa, status: :created, location: @resa }
else
format.html { redirect_to resas_path }
format.json { render json: @resa.errors, status: :unprocessable_entity }
end
end
end
index アクションにリダイレクトして、検証エラーをレンダリングしたいのですが、できません。私は持っている :
NoMethodError in Resas#index
undefined method `errors' for nil:NilClass
どうすればいいですか?ご協力いただきありがとうございます