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); 
    } 
...