2011-12-29 4 views
0

나는 title 속성 만 저장하려는 모델이 있습니다. 이것은 내가 시도 것입니다 :하나의 속성 만 저장

myBook.model.save(['title']); 

문제는 request.body가 대신 관련 속성 title의 전체 myBook.toJSON() 오브젝트 것입니다. 그게 디자인인가, 아니면 내가 바보 같은 짓을하는거야?

+0

가능한 복제본 [백본 - 저장할 속성을 지정하는 방법] (http://stackoverflow.com/questions/8637083/backbone-how-to-specify-attributes-to-save) –

답변

2

의도적으로 설계된 것입니다.

save 차례로 무엇보다도 않습니다 백엔드에 변화를 지속 Backbone.sync를 호출

if (!params.data && model && (method == 'create' || method == 'update')) { 
    params.contentType = 'application/json'; 
    params.data = JSON.stringify(model.toJSON()); // <-- jsonifies the entire model 
} 

이 동작을 재정의 할 수있는 방법의 많음이있다. 모델에 sync 메서드를 제공 할 수 있습니다.이 경우 백본의 기본값 sync 대신 호출됩니다. 또는 Backbone.sync를 재정 의하여 원하는 작업을 수행 할 수 있습니다.

그러나 대부분의 서버 측 프레임 워크는 전체 JSON 객체를 수신하고 변경된 내용 만 업데이트하는 것을 처리 할 수 ​​있습니다. 변경된 속성을 서버에만 보내야하는 이유는 무엇입니까?

사이드 노트 : save의 첫 번째 매개 변수는 과 대조적으로 {title: newBookTitle}의 속성 해시 여야합니다. 그러나 나는 아마도 그저 간단한 예제 오타 일 것이라고 추측하고 있습니다.

관련 문제