通常、Rails コントローラーの Update アクションには、次のようなコードがあります。
def update
@book = Book.find(params[:id])
if @book.update_attributes(params[:book])
redirect_to(@book)
else
render :edit
end
end
それ以外の場合、これは編集テンプレートをレンダリングします。しかし、次のように、編集アクションとまったく同じ方法で、respond_to を使用したい場合はどうなるでしょうか。
def update
@book = Book.find(params[:id])
if @book.update_attributes(params[:book])
redirect_to(@book)
else
respond_to do |format|
format.html # edit.html.erb
format.json { render :json => @team }
end
end
end
そのため、更新が失敗した場合は、要求された形式に応じて json または html が返されていることを確認してください。それは理にかなっていますか?その場合、次のエラーを回避するにはどうすればよいでしょうか: 「このアクションでレンダリングおよび/またはリダイレクトが複数回呼び出されました」