2013-01-01 1 views
0

한 번에 하나의 모델을 저장하는 데 아무런 문제가 없으며 객체 배열에 순환 저장을 작성했습니다. 각각의 성공적인 저장시에 객체를 이동시키고 배열 길이가 0 -> 반복이 아닌 경우 ... 배열 길이가 0이되면 모든 저장이 성공적이었고 적절한 동작을 수행한다는 것을 알고 있습니다.백본에 컬렉션을 저장하는 가장 좋은 방법은 무엇입니까?

더 좋은 방법이 있다면 궁금해할까요? 위에서 설명한 접근 방법보다 나머지 서비스 API는 콜렉션을 사용하지 않지만 콜렉션을 저장하는 예가 있다면 서비스를 수정하도록 요청할 것입니다.

+0

http://stackoverflow.com/questions/6879138/how-to-save-an-entire-collection-in-backbone-js-backbone-sync-or-jquery-ajax의 복제본처럼 보입니다. – Lukas

답변

6

컬렉션에 save 메서드가 내장되어 있지는 않지만 분명히 좋은 아이디어 일 수 있습니다. 각 모델을 반복하고 개별적으로 저장하는 것이이 작업을 수행하는 데 실제로 실제로 비용이 많이 드는 네트워크 트래픽 방식이므로 상황에 따라이 형식의 이점이있는 것 같습니다.

핵심에서 백본은 jQuery의 AJAX를 사용하여 서버에 게시 ... 컬렉션의 이점을 활용하지 않는 이유는 무엇입니까?


$.ajax({ 
    type: "POST", 
    url: "/my/api", 
    dataType: "JSON", 
    data: myCollection.toJSON() 
}); 

/my/api 엔드 서버에 다시 JSON 같은 객체의 어레이를 배치 할 것이다. 컬렉션의 메서드 나 다른 개체의 메서드로 쉽게이 코드를 마무리 할 수 ​​있습니다.

+4

백본 0.9.9에서'myCollection.sync ('update', myCollection)'은 객체 배열을 사용하여 PUT 요청을 보냅니다. – nikoshr

1

은 내가 컬렉션을 직접 세이브 기능을 수행

Backbone.sync('update', this, { 
    success: function() { 
     alert('saved'); 
    } 
}); 

는 도움이되기를 바랍니다.