2013-02-20 3 views
0

У меня есть веб-служба, которая возвращает что-то вроде этого, где есть фиксированный конверт, а затем тело json со схемой, которая зависит от «body_schema». Я бы хотел использовать ember-data для управления ими, с полями первого класса для фиксированного конверта и просто объектом для поля тела. Это возможно? Кажется, я не вижу ничего подобного в документах, но я не могу себе представить, что я первый с этой проблемой.json subdocuments in ember data model

{"messages": 
[ 
    {"id":"5", 
    "from": "someone", 
    "to": "somebody", 
    "body_schema": "atype", 
    "body": { 
    {"url":"http://localhost:3030/blobs/511d63ddd0a6b5e863000001"} 
    } 
    } 
]} 

Любые идеи?

ответ

0

Я решил это - вам нужно добавить свой собственный атрибут в существующий набор JSONTransforms. Я определил объект преобразования, как это в моем app.js:

DS.JSONTransforms.object = { 
    deserialize: function(serialized) { 
     return Em.isNone(serialized) ? {} : serialized; 
    }, 
    serialize: function(deserialized) { 
     return Em.isNone(deserialized) ? {} : deserialized; 
    } 
}; 

С этим на месте, я могу определить модель сообщений, как это:

App.Message = DS.Model.extend({ 
    timestamp: DS.attr('date'), 
    body: DS.attr('object'), 
    ... 
}); 
+0

Здравствуйте, @ outside2344 я столкнулся с той же проблемой и реализованы такие же решения, но при редактировании данных, уголек данные не видит мое поле как грязно. Это проблема, с которой вы столкнулись, и могли ли вы ее решить? – Emma