0

コレクションでは、create関数を使用して、モデルの新しいインスタンスをサーバーに保存しています。この POST リクエストは成功し、新しいモデルを返します。

{id:135, type:tweet, start:08:00:00, end:14:00:00, text:foo, date:2013-04-01}

ただし、サーバーから返された新しいmodel.idでコレクションを更新する必要があり、 createのsyncメソッドではこれが行われないようです。作成関数にコールバックを追加して、変更された属性でモデルを更新する必要がありますか?

var AddScheduleBlock = Backbone.View.extend({
    saveScheduleBlock: function (ev){ 
        var text = "foo"

        this.model.set({
            text: text
        });

        var block = blockCollection.create(this.model, {
                silent: true,
                wait: true
            });
});
4

1 に答える 1

0

Backbone の Collectionメソッドは、その下のcreateModel メソッドを呼び出します (コード リファレンス)。ID を自分で設定する必要はありません。Backbone が設定します。save

Modelsaveメソッドは、応答属性をモデルに設定します (コード リファレンス) 。

create が機能しない場合は、デバッグを試みる必要があります。

于 2013-04-01T10:59:53.697 に答える