2014-06-19 1 views
1

를 전송하지 않습니다 파괴백본, 내가 다른 ID를 가지고 DELETE HTTP

save : function(){  
       var result =this.model.save({ 
        ClientId: this.$('.clientId-field').val(), 
        companyName: this.$('.companyName-field').val() 
        } , 
    delete: function() { 

    this.model.destroy(); 
    return false; 
} 

내 개체 :

0: {ClientId:1, companyName:nom compagnie,…} 
    companyName: "nom compagnie" 

모델을 저장

기능 : 누가 된 ClientID입니다 제발 도와주세요

child {collection: child, _deferProcessing: false, _listenerId: "l4", _events: Object, _queue: Backbone.BlockingQueue…} 
_attributeChangeFired: false 
_changing: false 
_deferProcessing: false 
_events: Object 
_isInitialized: true 
_listenerId: "l4" 
_pending: false 
_permitsUsed: 0 
_previousAttributes: Object 
_queue: Backbone.BlockingQueue 
_relations: Object 
attributes: Object 
changed: Object 
cid: "c5" 
collection: child 

답변

1

id보다 다른 고유 키를 사용하려는 경우. 모델의 idAttribute을 설정하여 해당 키에서 id로 투명하게 매핑 할 수 있습니다. 내가 이런 짓을 할 때, 내 함수는 PUT의 HTTP를 보낼 아닌 this.model.save DELETE/data/delete/123

0

destroy 방법의 호출에

http://backbonejs.org/#Model-idAttribute

var MyModel = Backbone.Model.extend({ 

    urlRoot : "/data/delete", //root delete url 

    idAttribute: "clientId" 
}); 

var myModel = new MyModel({ 
    clientId : "123" 
}); 

myModel.destroy(); 

, DELETE 요청은 URL로 전송됩니다 POST HTTP

var ClientModel = Backbone.RelationalModel.extend({ 
    idAttribute: "ClientId", 
    validation : { 
     companyName : { 
       required: true, 
       msg: 'companyName is required.' 
} 
}); 
    return ClientModel; 

}); 

내 기능을 호출하기 전에 내 ID를 생성해야합니다. s.model.save

save : function(){ 
      var clientId= this.random(); 
      var result =this.model.save({ 
       ClientId: clientId, 
       companyName: this.$('.companyName-field').val() 
       } , 
delete: function() { 

this.model.destroy(); 
    return false; 
    } 
관련 문제