Todo 項目の順序付きリストがあるとします。一番上の項目が次に取り組む項目です。
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
要求があります。