서버에서 여러 레코드를 가져온 후 (배열) 컨트롤러로 넘겨 씁니다. 레코드 배열이 표에 표시되고 레코드 순서는 끌어 놓기로 수정할 수 있습니다. 각 드롭 후에 각 레코드의 sort
특성이 새 정렬 순서를 반영하도록 업데이트됩니다.Ember Data가 기존 레코드에 대해 POST를 수행하는 이유는 무엇입니까?
레코드를 저장하면 일부 레코드에 대해 PUT
요청이 발생하고 다른 레코드에 대해서는 POST
요청이 트리거됩니다. 이것의 원인이 무엇일까요? 이상한 점은 POST
요청에 해당 레코드의 id
이 포함되어 있다는 것입니다. 유효한 id
이있는 레코드가 PUT
요청을 발생 시킨다는 가정하에있었습니다.
명확하게 말하면 Ember Data를 응용 프로그램의 모델 계층으로 사용합니다.
App.ProjectsIndexController = Ember.ArrayController.extend({
sortProperties: ['sort'],
updateSortOrder: function() {
this.beginPropertyChanges();
this.forEach(function(project) {
// UPDATE PROJECT
}, this);
this.endPropertyChanges();
this.forEach(function(project) {
project.save();
});
}
});
UPDATE
: 좀 더이 문제를 디버깅 후, 나는 엠버 데이터가POST
요청이 발사되는 이유를 설명하는 기록 중 하나에 대한 새로운 레코드를 작성 것으로 나타났습니다. 그러나 유효한
id
이있는 기존 레코드에 대해 레코드가 생성 된 이유는 분명하지 않습니다.
음 ..'id'가 설정되었다고해서 Ember가 정의에 따라 그것이 기존 레코드라고 가정하고 PUT을 사용한다는 것을 의미하지는 않습니다. 조금 더 많은 코드/컨텍스트를 보게되었습니다. jsbin을 만들려면 http://jsbin.com/ogorab/316/edit의 템플릿 데이터가 필요합니다. –
사실입니다. 그러나 'id'는 초기 가져 오기의 응답에 포함되어 있으며 Ember Data가 기존 레코드임을 나타내는 것이어야합니다. –