def create
@emppede = Emppede.new(params[:emppede])
respond_to do |format|
if @emppede.save
format.html { redirect_to :action => :index, :id => @emppede.ad }
format.json { render json: @emppede, status: :created, location: @emppede }
else
format.html { render action: "new", :id => @emppede.ad } *(....error)*
format.json { render json: @emppede.errors, status: :unprocessable_entity }
end
end
end
新しいメソッドで id を渡す必要があります。ここで、データが適切に保存されていれば、index メソッドに進みます。ただし、そうでない場合は、新しいものに移動する必要がありますが、params id を使用します。どのようにレンダリングアクションを介してパラメータを渡すことができますか? ここでやりたいのですが、param idが新しいメソッドに渡されません。その部分を誤ってハイライトしました。私が行った場合
format.html { redirect_to :action => :new, :id => @emppede.ad }
その後、エラーメッセージは表示されません...
ユーザー ID を新しいメソッドに渡して、フォームを介して渡して保存できるようにする必要があります。
<div id="employm" style="display:none">
<%= f.text_field :ad, :value=> @id%>
</div>
しかし、フォームにエラーが発生すると、新しいフォームにレンダリングされますが、ここでは にある ID を送信する必要があります @emppede.ad
。これどうやってするの?新しいメソッドに入るには、id を渡す必要があるため
redirect_to :action => :new, :id => @id