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