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

5 javascript ajax json ruby-on-rails backbone.js

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

当与backbone.js一起使用时,从rails应用程序编码错误消息的最佳方法是什么,例如那些曾被定义为flash消息的错误消息,例如"找不到记录".

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

Jul*_*ien 4

如果您将 Rails 控制器设置为:

响应:json

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

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
Run Code Online (Sandbox Code Playgroud)

我创建了 json 响应器来更好地处理主干:

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
Run Code Online (Sandbox Code Playgroud)