Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/455.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript backbone.js和处理来自rails的错误消息?_Javascript_Ruby On Rails_Ajax_Json_Backbone.js - Fatal编程技术网

Javascript backbone.js和处理来自rails的错误消息?

Javascript backbone.js和处理来自rails的错误消息?,javascript,ruby-on-rails,ajax,json,backbone.js,Javascript,Ruby On Rails,Ajax,Json,Backbone.js,我想知道backbone.js用户是否可以帮助我 当与backbone.js一起使用时,对rails应用程序中的错误消息进行编码的最佳方式是什么?例如,那些曾经被定义为flash消息的错误消息,例如“未找到记录” 大多数情况下,错误都可以在客户端定义,但是,有时您希望传递在服务器端代码中定义的错误,这意味着服务器的结果与通常将记录列表接收到集合中的结果不同。如果将rails控制器设置为: 回复:json 您将收到json格式的错误(您需要使用respond_with(object)) @Juli

我想知道backbone.js用户是否可以帮助我

当与backbone.js一起使用时,对rails应用程序中的错误消息进行编码的最佳方式是什么?例如,那些曾经被定义为flash消息的错误消息,例如“未找到记录”


大多数情况下,错误都可以在客户端定义,但是,有时您希望传递在服务器端代码中定义的错误,这意味着服务器的结果与通常将记录列表接收到集合中的结果不同。

如果将rails控制器设置为:

回复:json

您将收到json格式的错误(您需要使用respond_with(object))


@Julien在backbone.js中的示例中如何处理该响应?我很想知道。这是不是在使用应答器gem?是的,请详细介绍一下你是如何在主干网中处理这个问题的-我想这会很有帮助。我不确定我是否理解你的问题。这是RoR代码,用于使主干正确运行。在客户端,没有什么可以做的。很可能是某种简单的策略,用于将错误消息附加到表单,在服务器错误时恢复对ui的更改等。您是否覆盖backbone.sync来处理这些内容?
class XYZController < ApplicationController
  respond_to :html, :json
  responders :jsons
  def create
    @xyz = Xyz.new( params[:xyz] )
    @xyz.save
    respond_with @xyz, :location=>@xyz.id.nil? ? "" : edit_xyz_url(@xyz)
  end
end
module Responders

  module JsonResponder 

    def to_json
      raise error unless resourceful?

      if get?
        display resource
      elsif has_errors?
        display resource.errors, :status => :unprocessable_entity
      elsif post?
        display resource, :status => :created, :location => api_location
      elsif put?
        display resource, :status=>:ok, :location => api_location
      elsif has_empty_resource_definition?
        display empty_resource, :status => :ok
      else
        head :ok
      end
    end
  end
end