当用户将JSON发送到Rails 3应用程序中的/ update / action时,最佳响应方式是什么?
我想发送一个带有200代码的空JSON响应,类似于
head :no_content
或
render :nothing => true, :status => 204
(来自How to return HTTP 204 in a Rails controller的例子)。
通常我一直这样做:
render :json => {}
或
render :json => 'ok'
是否有首选或更多 Rails-y 方式?
答案 0 :(得分:27)
My Rails 3应用使用此类代码进行更新。 html和xml的代码是由Rails自动生成的,所以我只是使用相同的格式添加到JSON渲染器中。
respond_to do |format|
if @product.update_attributes(params[:product])
format.html { redirect_to(@product, :notice => 'Product was successfully updated.') }
format.xml { head :ok }
format.json { head :ok }
else
format.html { render :action => "edit" }
format.xml { render :xml => @product.errors, :status => :unprocessable_entity }
format.json { render :json => @product.errors, :status => :unprocessable_entity }
end
end
完美运作,这才是最重要的。