我试图将整个模型集合同步到backbone.js中的服务器.我想将一个
JSON包发布到包含所有集合模型属性的服务器.这应该很简单,但我不确定我做错了什么:
- var RegisterCollection = Backbone.Collection.extend({
- initialize: function () {_(this).bindAll('syncCollection');},model: RegisterModel,url: 'api/process.PHP',updateModel: function(registerModel) {
- var inputName = '#'+registerModel.get('inputName');
- var userInput = $(inputName).val();
- registerModel.set({value: userInput});
- },syncCollection: function(registerModel) {
- this.sync();
- }
- });
- var RegisterCollectionView = Backbone.View.extend({
- el: "#register",events: {
- "click #submit" : "validate"
- },validate: function(e) {
- e.preventDefault();
- $("#register").valid();
- if ($("#register").valid() === true) {
- this.updateModels();
- this.collection.syncCollection();
- }
- },updateModels: function (){
- this.collection.forEach(this.collection.updateModel,this);;
- },initialize: function(){
- this.collection.on('reset',this.addAll,this);
- },addOne: function(registerModel){
- var registerView = new RegisterView({model: registerModel});
- this.$el.append(registerView.render().el);
- },addAll: function(){
- this.$el.empty();
- this.collection.forEach(this.addOne,this);
- this.$el.append('<button type="submit" class="btn-primary btn" id="submit" style="display: block;">Submit</button>');
- },render: function(){
- this.addAll();
- return this;
- }
- });
- var registerCollection = new RegisterCollection();
- registerCollection.fetch();
- var registerCollectionView = new RegisterCollectionView({collection: registerCollection});
- registerCollectionView.render();
当我尝试调用syncCollection()时,它返回以下错误:Uncaught TypeError:Object [object Object]没有方法’save’我是Backbone的新手,所以很可能是我在某处犯了一个相当基本的错误.. .