노드 서버로 데이터를 보내고 보내는 데 Ember의 Ember 2.4.6 및 JSONApiAdapter를 사용하고 있습니다.Ember가 belongsTo 데이터를 유지하지 않음
나는 다음과 같은 태그 모델을 가지고 :
import DS from 'ember-data';
export default DS.Model.extend({
label: DS.attr('string'),
isRoot: DS.attr('boolean', {defaultValue: false'}),
parent: DS.belongsTo('tag') //belongs to self type
});
여기 논리는 사용자가 특정 루트 태그에 대해 여러 하위 태그를 입력 할 수 있습니다. 하위 태그와 루트 태그를 저장하려면 태그 서비스에서 save 메소드를 사용하고 있습니다. 태그 서비스에서 저장 방법은 여기에서 지금 문제가 내가 루트 태그에 대한 다섯 개 가지 하위 태그를 말할 때, 그 관계는 즉 다섯 번째 태그 마지막 태그 지속지고 있다는 점이다
import Ember from 'ember';
export default Ember.Service.extend({
//Some other code
save: function(parent, children){
return parent.save().then(response => {
return children.map(tag => {
tag.set('parent', response);
return tag.save();
});
});
}
});
다음과 같다.
내가 만든 다섯 개 태그는 root
부모 태그 one
, two
, three
, four
및 five
을 말한다. 그런 다음 save 메소드가 태그 서비스에서 호출되면 이상적으로 다음 데이터가 서버로 전송되어야합니다.
{data: {id: 1, type: 'tags', attributes: {label: "root", "is-root": true}, relationships: {parent: {data: null}}}}
{data: {id: 2, type: 'tags', attributes: {label: "one", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
{data: {id: 3, type: 'tags', attributes: {label: "two", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
{data: {id: 4, type: 'tags', attributes: {label: "three", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
{data: {id: 5, type: 'tags', attributes: {label: "four", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
{data: {id: 6, type: 'tags', attributes: {label: "five", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
하지만
대신 다음과 같은 정보는 belongsTo를 정보가 마지막 태그에 전송되는 서버{data: {id: 1, type: 'tags', attributes: {label: "root", "is-root": true}, relationships: {parent: {data: null}}}}
{data: {id: 2, type: 'tags', attributes: {label: "one", "is-root": false}, relationships: {parent: {data: null}}}}
{data: {id: 3, type: 'tags', attributes: {label: "two", "is-root": false}, relationships: {parent: {data: null}}}}
{data: {id: 4, type: 'tags', attributes: {label: "three", "is-root": false}, relationships: {parent: {data: null}}}}
{data: {id: 5, type: 'tags', attributes: {label: "four", "is-root": false}, relationships: {parent: {data: null}}}}
{data: {id: 6, type: 'tags', attributes: {label: "five", "is-root": false}, relationships: {parent: {data: {id: 1, type: "tags"}}}}}
에 가고, 다른 모든 태그, 부모 데이터가 누락지고 있습니다.
왜 이런 일이 발생하는지 정확히 알 수 없습니다. 제가 여기서 잘못하고있는 것을 제안하십시오. 태그 모델에서
모델이'태그'유형 또는'userfield' 유형입니까? 모델 정의와 샘플 데이터 사이에서 바뀌는 것 같습니다. – Beno
@Beno는 지적했기 때문에, 질문을 수정했습니다. – Sumit
Repo에 내용이 동일하지 않습니다. – JonRed