2013-06-25 96 views
1

在骨幹網和服務器上,我在id(api/order/ID/call和api/order/ID/status)之後放置了具有不同端點的請求。我需要根據不同的行爲明確地設置這些。我得到的地位延長工作/重寫車型同步:骨幹設置保存(PUT)請求與不同的URL端點

sync: function(method, model, options){ 

    if (method == 'PUT' || method == 'update') { 

     model.url = '/venues/orders/' + model.id + '/status'; 

     var jsonData   = {}; 
      jsonData.staffid = 1; 
      jsonData.groupid = 0; 
      jsonData.statusid = this.get('status.statusid'); 

     //if the options url is set use that otherwise use /status 
     if(options.url){ 
      model.url = options.url; 
     } 

     options.data = JSON.stringify(jsonData); 
    } 

    return Backbone.sync(method, model, options); 
} 

我有設置的選項鍊接通話功能:

CallToBar: function(el){ 

    log("CallToBar Action"); 

    el.preventDefault(); 
    el.stopPropagation(); 

    var target = $(el.currentTarget); 

    target.text('Calling...'); 
    var that = this; 

    this.model.save({}, { 
     url: '/venues/orders/' + this.model.id + '/call', 
     data: '', 
     success: function(){ 
      target.text('Called'); 

      timeout = setTimeout(function() { 

       if(!$(this.el).find('.additional-options').hasClass('hide')){ 
        that.orderClicked(); 
       } 
       target.text('Call to bar'); 

      }, 1500); 
     } 

    }); 

}, 

我希望有能力連接不同端點的網址理想與同步/保存/設置

回答

0

昨天我問了一個類似的問題。你有沒有考慮過使用PATCH? http://backbonejs.org/#Model-save。這使您可以擁有單個終點,但是隻允許您傳遞要更新的屬性?例如model.save(attr,{patch:true});

+0

PATCH不是真的想讓我需要的電話只是觸發器我不想改變ATTR。此外,PATCH目前未在服務器上配置。 – Labithiotis