0

我只是想了解这里的基本反应。我有一个未经编辑的控制器方法

  def update
    @ledgeritem = Ledgeritem.find(params[:id])

    respond_to do |format|
      if @ledgeritem.update_attributes(params[:ledgeritem])
        format.html { redirect_to @ledgeritem, :notice => 'Ledgeritem was successfully updated.' }
        format.json { head :no_content }
      else
        format.html { render :action => "edit" }
        format.json { render :json => @ledgeritem.errors, :status => :unprocessable_entity }
      end
    end
  end

还有我的ajax

$.ajax({
    type: "PUT",
    url: "/ledgeritems/" + id + ".json",
    data: $(this).serialize(),
    dataType: "json",
    success: function (result) {
        alert(result);
    }
});

我的警报从未显示,但该项目确实更新。读取和处理 json 响应的正确方法是什么?我知道这是一个基本问题,但我找不到任何关于此的示例或信息。

4

1 回答 1

4

在您的控制器中,更改

format.json { head :no_content }

format.json { render json: @ledgeritem }

head :no_content只会返回 http 代码 204,这表示页面上没有内容。你在这里不需要这个。

于 2013-01-12T23:47:59.523 回答