2011-05-11 4 views
5

backbone.js 사용자가 나를 도와 줄 수 있는지 궁금합니다.backbone.js 및 레일에서 메시지를 처리하는 중입니까?

예를 들어 "레코드를 찾을 수 없음"과 같이 플래시 메시지로 정의 된 오류 메시지와 같이 backbone.js와 함께 사용하면 레일즈 응용 프로그램의 오류 메시지를 인코딩하는 가장 좋은 방법은 무엇입니까?

대부분의 시간 오류는 클라이언트에서 정의 할 수 있지만 서버 측 코드에서 정의한 오류를 전달하려는 경우가 있습니다. 즉, 서버의 결과가 정상적으로 수신 된 것과 다를 수 있습니다. 레코드 목록을 컬렉션으로.

답변

4

당신은 당신의 레일 컨트롤러를 설정하면 다음과 같음 :

respond_to : JSON

JSON으로 내가 만든

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 

(당신이 respond_with (객체)를 사용합니다) 당신은 당신의 오류를 받게됩니다 내 백본을 더 잘 다룰 수있는 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 
+0

@ Julien 어떻게하면이 응답을 사용자의 예제에서 처리 할 수 ​​있습니까? 백본에서 .js? 나는보고 싶어한다. –

+0

은 반응기 보석을 사용합니까? –

+0

예 답변자 보석을 사용합니다 – Julien

관련 문제