2014-09-08 6 views
5

को देखते हुए दो मॉडल hasMany रिश्ते के लिए JSON पेलोड पर "लिंक" का उपयोग करना:एंबर डेटा: किसी एप्लिकेशन <strong>DS.RESTAdapter</strong> का उपयोग करने में

App.Calendar = DS.Model.extend({ 
    reservations: DS.hasMany("reservation", { async: true }) 
}); 

App.Reservation = DS.Model.extend({ 
    date: DS.attr("date"), 
    calendar: DS.belongsTo("calendar") 
}); 

और इस तरह के रूप पेलोड:

/API/कैलेंडर/1:

{ 
    "calendar": { 
    "id": 1, 
    "reservations": [], 
    "links": { 
     "reservations": "/api/calendar/1/reservations" 
    } 
    } 
} 

/api/कैलेंडर/1/आरक्षण:

{ 
    "reservations": [ 
    { 
     "id": 1, 
     "date": "10/01/2014" 
    } 
    ] 
} 

ऐसा क्यों है कि आरक्षणकैलेंडर मॉडल पर सरणी आलसी-लोडेड नहीं किया जा रहा है?

उत्तर

3

आपका json आरक्षण दो बार नहीं परिभाषित किया जाना चाहिए है

{ 
    "calendar": { 
    "id": 1, 
    "links": { 
     "reservations": "/api/calendar/1/reservations" 
    } 
    } 
} 
+0

फिर भी, कैसे आ एंबर भी लिंक करने के लिए HTTP अनुरोध पर अमल नहीं करता है? –

+0

क्षमा करें, मुझे लगता है कि मैंने आपके प्रश्न को गलत समझा, इसे केवल तब कहा जाता है जब आप संपत्ति का उपयोग करने का प्रयास करते हैं (एक ला आलसी लोडिंग)। क्या आप संपत्ति का उपयोग कर रहे हैं? मैंने सोचा था कि आप कह रहे थे कि मॉडल तुरंत बुलाया जा रहा था। – Kingpin2k

+0

हां, मैं इसे model.get ("आरक्षण") के साथ उपयोग कर रहा हूं और इसे 'सामग्री' संपत्ति में सहेज रहा हूं, इसलिए दूसरा नियंत्रक इसका उपयोग कर सकता है। –

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