0

我想实现。Backbone Collection和Model url,批量模型集合保存

创建于model.save单一模式应该指向模型中提到url属性

2.我想做一个批量保存(我怎么能做到这一点) 。因此,按照示例说,我有书籍模型阵列,我想用Collection的url一次保存它。

var BookModel = Backbone.Model.extend({ 
    idAttribute: 'id', 
    url: function() { 
    return 'http:/test.com/books/addsinglebook' 
    }, 
    defaults: { 
    id: null, 
    name: '' 
    }, 
}); 

var BookCollection = Backbone.Collection.extend({ 
    url: 'http:/test.com/books/addbulkbooks', 
    model: BookModel, 
}); 

// bookmodel.save() should point to /addsinglebook 
// bookcollection.somesavemethod() should point to /addbulkbooks 

由于骨干网收集不具备savecreate是一个单一的模式,我需要我自己的方法添加到原型实现批量保存?

回答

1

使用urlRoot

var BookModel = Backbone.Model.extend({ 
    idAttribute: 'id', 
    urlRoot: 'http:/test.com/books/addsinglebook', 
    defaults: { 
    id: null, 
    name: '' 
    }, 
}); 

2.你应该实现自己的savecreate,造成骨干网支持基本问题的REST API,它在它的命令不支持批量更新/创建。查看herehere获取类似的解决方案。

0

是的,您需要将自己的方法添加到Collection类以实现批量保存。您可以使用下划线的each方法遍历集合的模型:

var BookCollection = Backbone.Collection.extend({ 
... 
    bulkSave: function() { 
     this.each(model.save); 
    } 
...