2013-02-20 4 views
0

나는 "body_schema"에 의존하는 스키마가있는 json 인 본문과 고정 된 봉투가있는 곳에서 이와 같은 결과를 반환하는 웹 서비스를 가지고 있습니다. 나는 ember-data를 사용하여 고정 봉투를위한 first class 필드와 body 필드를위한 단지 객체를 관리 할 수 ​​있기를 원합니다. 이것이 가능한가? 나는 문서에서 이런 것을 볼 수는 없지만 나는이 문제에 대해 내가 처음이라고 상상할 수 없다.ember 데이터 모델의 json 하위 문서

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

아이디어가 있으십니까?

답변

0

저는 이것을 해결했습니다. 기존 JSONTransform 세트에 고유 한 속성 변환을 추가해야합니다. 엠버 - 데이터 1.0beta와

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

안녕하세요 https://github.com/emberjs/data/blob/master/TRANSITION.md, 를 참조하십시오. 이 문제는 당신도 만났고 해결할 수 있었습니까? – Emma

1

:

나는이 같은 메시지 모델을 정의 할 수 있습니다, 장소에두고

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

: 나는 객체 내 app.js에서 다음과 같이 변환 정의

App.RawTransform = DS.Transform.extend({ 
    deserialize: function(serialized) { 
    return serialized; 
    }, 
    serialize: function(deserialized) { 
    return deserialized; 
    } 
}); 

ex.

App.Foo = DS.Model.extend({ 
    bar: attr('raw'), 
}) 

내가 같은 문제로 실행 및 솔루션의 같은 종류를 구현하지만, 데이터를 편집 할 때, 엠버 데이터를 더러운 것으로 내 필드가 표시되지 않습니다 outside2344 @