0

「gameModel」と呼ばれる非常に単純なモデルと、以下に示すコレクション「gamesCollection」があります。コレクションで新しいゲームを作成しようとすると、サーバーに投稿が送信されますが、その投稿にはデータがありません。何が起こっているのか知っていますか?

//The relevant code
var game = new gameModel();
game.gameId = id;
gamesCollection.create(game);

...........
//The Collection 
define([
  'jQuery',
  'Underscore',
  'Backbone',
  'collections/common/mixin',
  'models/game',
  'config/restresource'
    ], function($, _, Backbone, collectionMixin, gameModel, restDomain){
    var gamesCollection = Backbone.Collection.extend({
        url: (new restDomain()).getGamesRoot(),
        model: gameModel,
        initialize: function(){
            _.extend(this.__proto__, collectionMixin);
        },

        parse: function(resp, xhr) {
            var games = [];
            for(i=0;i<resp.length;i++){
                games.push(new gameModel({gameId: resp[i].gameId}));
            }
            return games;
        },
    });

    return new gamesCollection;
});
4

1 に答える 1

1

これを試して

gamesCollection.create({"id":id});

Backbone.Collection.createモデルではなく、最初の引数として属性を受け入れます...モデルが正常に作成された場合、モデルが返されます。gameしたがって、モデル オブジェクトを引き続き使用する場合は、次のように実装することをお勧めします。

var game = gamesCollection.create({"id":id});
于 2013-01-14T22:02:26.213 に答える