2015-02-01 3 views
0

Ember Data에서 다형성 연관을 얻으려고했지만 아직 행운이 없습니다. 바라기를 누군가는 모양을 가지고 나가 무언가를 놓치는 경우에 알게 할 수있다.Ember-Data Embedded Polymorphic Belongs To not working

Ember 1.8.1 및 Ember-Data 1.0.0-beta.14.1을 사용하고 있습니다. 또한 ECMAScript6 구문을 사용하고 있습니다 (가져 오기, 기본값 내보내기).

기본적으로, 우리는 단지 우리를 위해 일하지 않는 것처럼 보이는 하나의 포함 된 다형성 관계가 있습니다. 왜 누군가가 이것이 작동하지 않는지에 대한 제안이나 아이디어가 있다면, 나는 약간의 도움을 원합니다. 나는 며칠 동안 이것에 붙어 있었다.

기본적으로 우리는 문제가 있습니다. 내가 돌려받을 오류 :
오류 : 어설 션 실패 : 당신이 경우에만이 관계

// /app/models/metadata.js: 
 
export default DS.Model.extend({ 
 
    type: DS.attr('string'), 
 
    lastModified: DS.attr('number'); 
 
}); 
 

 
// /app/models/metadata-story.js 
 
import Metadata from '/app/models/metadata'; 
 
export default Metadata.extend({ 
 
    body: DS.attr('string') 
 
}); 
 

 
// /app/models/metadata-photo.js 
 
import Metadata from '/app/models/metadata'; 
 
export default Metadata.extend({ 
 
    url: DS.attr('string'), 
 
    width: DS.attr('number'), 
 
    height: DS.attr('number') 
 
}); 
 

 
// /app/models/post.js 
 
export default DS.Model.extend({ 
 
    headline: DS.attr('string'), 
 
    metadata: DS.belongsTo('metadata', {polymorphic: true}) 
 
}); 
 

 

 
// /app/serializers/post.js 
 
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin,{ 
 
    attrs: { 
 
    metadata: {embedded: 'always'} 
 
    } 
 
}); 
 

 

 
// /app/routes/posts.js 
 
// Here is the code that is being run to load the records: 
 
export default Em.Route.extend({ 
 
    model: function(params){ 
 
    var query = { 
 
     start: params.start, 
 
     offset: params.offset 
 
    }; 
 
    return this.store.find('post', query); 
 
    } 
 
}); 
 

 

 
// Also, here is a sample of the Payload that the normalizePayload function is returning: 
 
{posts:[ 
 
    { 
 
    id: 0, 
 
    headline: 'Well, that is SOME story!', 
 
    metadata: { 
 
     body: 'This is the body...' 
 
    }, 
 
    metadataType: 'metadata-story' 
 
    }, 
 
    { 
 
    id: 1, 
 
    headline: 'Well Hello', 
 
    metadata: { 
 
     url: 'http://somewhere.com/pic.png', 
 
     width: 450, 
 
     height: 350 
 
    }, 
 
    metadataType: 'metadata-story' 
 
    } 
 
]} 
 

 
/* 
 
Another thing that I should mention is that I have tried setting the Ember.MODEL_FACTORY_INJECTIONS flag to both true and false, but it has not seemed to make any difference at this point. 
 
*/

답변

0
에 '메타 데이터'기록을 추가 할 수 있습니다

이 오류가 발생 될 수있다 모델 metadata을 명시 적으로 또는 일종의 바인딩을 통해 post 모델을 수정하려고 시도하면 metadata의 값이 엠버 데이터의 metadata 모델의 인스턴스가 아니기 때문에 set이 실패합니다. 나는 그러한 수정이 이루어지고있는 앱의 모든 장소와 console.log에 metadata을 설정하는 데 사용 된 값을 살펴볼 것이다. 희망이 도움이됩니다.

+0

답장을 보내 주셔서 감사합니다. 나는 어디에도 "세트"라고 부르지 않는다. 이 오류는 serializer에서 .find() 호출 후 발생합니다. –