1
在Rails的控制器的更新動作同樣的動作,通常有代碼看起來像這樣:的respond_to和重定向在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取決於請求的格式。這有道理嗎?如果是這樣,你將如何避免錯誤:「在這個動作中渲染和/或重定向被稱爲多次」
在這種情況下,您不必擔心「在此操作中多次調用渲染和/或重定向」,因爲它是其中一個或另一個。從來沒有。 – Mischa 2013-04-08 13:40:51