1

新しいモデルを作成するには、1つの属性のみを渡す必要があります。

model.save({
    name: 'bar'
});

次に、サーバーはこのモデルのIDなどの属性を追加します。

実際、新しいモデルを作成したときのサーバーの応答は次のとおりです。

このリクエストには利用可能な応答データがありません。

サーバーによって作成された追加の属性を取得するための最良の方法は何ですか?
サーバー部分を修正する必要がありますか?

これが私のコードです:

var ListView = Marionette.CompositeView.extend({

    // some code        

    events: {
        'click #create-user': 'createUser'
    },

    createUser: function (e) {
        this.collection.create(this.newAttributes(e));
    },

    newAttributes: function (e) {
        return {
            name: $(e.currentTarget).val(),
        };
    }

    appendHtml: function (collectionView, itemView) {
        collectionView.$el.find('ul.list-users').append(itemView.el);
    }

});
4

1 に答える 1

1

この質問は、モデルではなくビューのみを拡張する Marionette とは関係ありません。

バックボーンは、サーバーから送り返された新しい属性を自動的に組み込みます。クライアント側で特別なことを行う必要はありません。ただし、これが機能するには、設定する属性と値のペアの JSON オブジェクトをサーバーが返す必要があります。

于 2012-07-04T19:30:36.987 に答える