假设我们有一个有序的待办事项列表,最上面的就是我们接下来要处理的:
App.TodoItem = DS.Model.extend({
title: DS.attr("string")
});
// comes back ordered from the server
var todos = App.TodoItem.find()
然后,我们通过拖放界面重新排序列表。
API 有一个端点/todos/sort
,期望以新的顺序发布一组 ID。这可以改变,但这是我们现在所拥有的。
您将如何将新订单保存到服务器?
我想我可以添加一个position
属性并在订单更改时更新所有项目的属性,然后调用commit
商店 - 但是当我们想要的只是新订单时,这将通过网络发送所有数据。另外,除非我们实施批量保存,否则它会发送大量请求。
目前我正在考虑完全绕过这部分的 Ember-Data,只是$.ajax
在控制器中有一个普通的旧请求。