2013-02-20 62 views
0

我有一个Web服务,返回类似这样的东西,其中有一个固定的信封,然后是一个依赖于“body_schema”的架构的json体。我希望能够使用ember-data来管理这些,使用固定信封的first class字段和body字段的对象。这可能吗?我似乎无法在文档中看到任何这样的内容,但我无法想象我是第一个遇到此问题的人。jer子文档中的余烬数据模型

{"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 2014-07-22 05:18:11