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 回答