2011-05-11 15 views
5

Me pregunto si los usuarios de backbone.js podrían por favor ayudarme?backbone.js y manejo de mensajes de errores de rieles?

¿Cuál es la mejor manera de codificar los mensajes de error de una aplicación de rieles cuando se utiliza con backbone.js, por ejemplo, los mensajes de error que alguna vez se definieron como mensajes flash, por ejemplo, "registro no encontrado".

La mayoría de las veces se pueden definir errores en el cliente; sin embargo, algunas veces desea pasar un error que haya definido en el código del lado del servidor, lo que significa que el resultado del servidor es diferente de lo normal. lista de registros en una colección.

Respuesta

4

si configura su controlador de rieles como:

respond_to: JSON

Usted recibirá sus errores como JSON (es necesario utilizar respond_with (objeto))

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 

creé mi json respondedor para tratar mejor con la red troncal:

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 
+0

@Julien cómo manejas esa respuesta en tu ejemplo en backbone.js? Estoy interesado en ver –

+0

¿Esto está usando la gema del respondedor? –

+0

Sí Uso la gema respondedores – Julien