2013-02-23 30 views
6

एक बग ट्रैकर की कल्पना करो।एम्बर-डेटा में आंशिक अद्यतन?

प्रत्येक टिकट में बहुत अधिक डेटा होता है। अब टिकटों की लंबी सूची से कुछ टिकटों की स्थिति अपडेट की गई है।

App.Ticket = DS.Model.extend({ 
    id: DS.attr('number'), 
    status: DS.attr('string'), 
    ... 
}); 

वर्तमान में जब एंबर-डेटा में save लागू इस सर्वर से पूरा मॉडल भेजना होगा।

[{"id": 1, "status": "closed"}, {...}] जैसे आंशिक अपडेट भेजने के लिए मैं क्या कर सकता हूं?

पीएस: मैं समझता हूं कि यह अभी संभव नहीं है, इसलिए मैं सोच रहा हूं कि कोई कामकाज/संशोधन है जो इसे सक्षम करेगा? (एक सामान्य उद्देश्य समाधान की आवश्यकता नहीं है)।

+0

HTTP spec में एक पैच क्रिया है जो वास्तव में (http://tools.ietf.org/html/rfc5789) के लिए है। हमें इसका समर्थन करने के लिए केवल एम्बर-डेटा की आवश्यकता होगी। मैं निश्चित रूप से इस अनुरोध को +1 करता हूं! – KOGI

+0

यह दिलचस्प है! – stephanos

उत्तर

3

मेरा वर्तमान कामकाज readOnly विकल्प निर्दिष्ट करना है जो उन गुणों को शामिल करता है जिन्हें मैं पोस्ट में नहीं भेजना चाहता हूं।

विवरण यहां पाया जा सकता: https://github.com/emberjs/data/pull/303#issuecomment-13993905

1

मैंने इसकी जांच के साथ-साथ देख रहा था और अगर आप इस पर लागू करना चाहते सभी की बचत होती है, तो आज आप इसे serializers/ticket.js की तरह एक serializer साथ तय होगा:

import DS from 'ember-data'; 

export default DS.RESTSerializer.extend({ 
    attrs: { 
    status: {serialize: false} 
    } 
}); 

यह status को बाहर कर देगा।