2013-08-09 2 views
0

속성 배열에 다른 모델을 유지하는 모델이 있습니다. 그러나 이러한 모델을 저장할 때 하위 모듈을 유지하고 싶지 않습니다. 대신 기본 키를 저장하려고합니다. 그러면 서버에서 모델을 가져 오면 해당 구문이 "복원"됩니다. 관련 모델을 가져 와서Backbone.js 저장을 위해 구문 분석

이 작업을 수행하는 가장 좋은 방법은 무엇입니까? 대신 & 결과적으로 충돌 전체 모델의 속성에 열쇠를두고,

sync : function(method, model, options) { 
    var topics = this.get('topics'); 
    model.attributes.topics = _.pluck(topics, 'id'); 

    var ret = Backbone.Model.prototype.sync.call(this, method, model, options); 

    this.attributes.topics = topics; 

    return ret; 
}, 

하지만이 정기적으로 실패 : 나는 일을 얻기에 왔어요 가장 가까운 동기화 메서드를 재정의합니다.

구문 분석 기능 (약간 의역) : 나는 어떻게 할 것인지

parse : function(response) { 
    response.topics = _.map(response.topics, function(item) { 
    return app.topics.getByPK(item); 
    } 
    return response; 
} 
+0

'parse' 기능은 어떤 모양입니까? – kalley

+0

위의 내용 (또는 적어도 관련 부분)을 추가했습니다. – futuraprime

답변

1

이 라인을 따라 뭔가 더있을 것입니다 :

parse : function(response) { 
    this.topics = _.map(response.topics, function(item) { 
    return app.topics.getByPK(item); 
    } 
    return response; 
} 

항상 그대로 ID의 배열을 유지하고 this.get('topics') 대신 this.topics 또는 this.attributes.topics을 사용하여 액세스 할 수 있습니다.

관련 문제