2014-10-01 8 views
3

모델 가져 오기 동작, 특히 모델 ID 설정이 1.1.0에서 1.1.2 사이에서 변경 되었습니까?백본 가져 오기 ID가 변경됨

변경 로그를 확인했는데 관련있는 항목을 찾을 수 없습니다. 다음

더 이상 작동하지 않습니다 : 그것은/휴식/wibble보다는/휴식 /이에 사용/1 wibble를 요청

var Wibble = Backbone.Model.extend({ 
    urlRoot: 'rest/wibble', 
    idAttribute: 'wibbleId' 
}); 

var model = new Wibble(); 
model.id = 1; 
model.fetch() 

.

예 : 모델은 새로운 것이 아니다 때 내가) (가져 오기 /[id]를 추가하여

jsbin for 1.1.0

jsbin for 1.1.2

답변

3

모델은 URL을 빌드를 설명하기보다는) URL을 (사용했습니다 :

url: function() { 
    var base = _.result(this, 'urlRoot') || 
    _.result(this.collection, 'url') || 
    urlError(); 
    if (this.isNew()) return base; 
    return base.replace(/([^\/])$/, '$1/') + encodeURIComponent(this.id); 
} 

그러나 model.isNew이 1.1.0 a 차 1.1.2

체크는 이제 idAttribute과 더 이상 id 속성에 의해 기술 된 속성을 고려한다.

model.set('wibbleId', 123); 
: 당신이 당신의 1.1.2 예에서와 마찬가지로

당신의 idAttribute 설정은 아마 가장 안전한 내기