Rails 3:检查远程时记录是否正确更新

时间:2013-01-09 09:38:20

标签: ruby-on-rails ruby ruby-on-rails-3

我正在使用javascript(coffeescript)作为更新操作响应的格式。 我无法弄清楚如何在我的js.coffee响应中检查记录是否已成功更新。

对于创建我使用.new_record?,对于destroy我们有.destroyed?检查记录是否已正确创建/销毁,更新如何?

2 个答案:

答案 0 :(得分:3)

如何返回不同的JSON对象,具体取决于更新对象的结果:

def update
  @foo = Foo.find(params[:id])
  respond_to do |format|
    if @foo.update_attributes(params[:foo])
      format.json { head :ok }
    else
      format.json { render json: @foo.errors, status: :unprocessable_entity }
    end
  end
end

客户端,您将检查返回对象的status属性。

答案 1 :(得分:1)

如果认为解决方案对我来说太简单了。 我可以简单地使用.errors.empty? ..