2011-05-11 10 views
5

मुझे आश्चर्य है कि 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 (वस्तु) उपयोग करने की आवश्यकता) आप अपने त्रुटियों प्राप्त होगा मेरी जेसन उत्तरदाता रीढ़ की हड्डी के साथ बेहतर सौदा करने के लिए:

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

@ जुलिएन आप अपने उदाहरण में उस प्रतिक्रिया को कैसे संभालेंगे backbone.js में? मुझे देखने में दिलचस्पी है। –

+0

क्या यह उत्तरदाताओं के मणि का उपयोग कर रहा है? –

+0

हां मैं उत्तरदाताओं के मणि – Julien

संबंधित मुद्दे