在Rails的控制器的更新操作通常有代码看起来像这样:
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根据请求的格式。 这是否有道理? 如果是这样,你将如何避免错误:“渲染和/或重定向被称为在这个动作多次”