0

달성하고 싶습니다. 모델에 언급 url를 표시해야한다 model.save에 단일 모델을 만들기백본 컬렉션 및 모델 URL, 대량 모델 모음 저장

1 내가 저장 일괄 수행 할

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가 하나의 모델입니다하지 않기 때문에, 나는 대량 저장 구현을위한 프로토 타입 내 자신의 방법을 추가해야합니까? 사용이

2urlRoot

var BookModel = Backbone.Model.extend({ 
    idAttribute: 'id', 
    urlRoot: 'http:/test.com/books/addsinglebook', 
    defaults: { 
    id: null, 
    name: '' 
    }, 
}); 
귀하의에 대량 업데이트를 지원하지 않는 명령이야 자신의 savecreate, 원인 백본가 지원하는 기본 RESTfull API를 구현해야 생성/

답변

1

1 . 비슷한 해결책은 herehere입니다.

0

예, 대량 저장을 구현하기 위해 컬렉션 클래스에 고유 한 메서드를 추가해야합니다. 여기서 Underscore의 each 메서드를 사용하여 컬렉션의 모델을 반복 할 수 있습니다.

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