2013-08-04 37 views
0

我用一個簡單的DS.Store灰燼數據提交不創建一個PUT請求

我稱之爲commit功能這樣工作:

SA.CampaignController = Ember.ObjectController.extend({ 
    save: function() { 
     this.get('store').commit(); 
    } 
}); 

就像在灰燼指南湯姆·戴爾的視頻教程。下面是該教程的代碼 - https://github.com/tildeio/bloggr-client/blob/master/js/app.js

然而,在視頻中我們可以看到一個PUT請求發射時這個動作被調用。它不會在我的代碼中觸發..任何指針?

我有我的RouteModel和定義,因爲這Store

SA.EditcampaignRoute = Ember.Route.extend({ 
    model: function() { 
     return SA.Campaign.find(); 
    } 
}); 

SA.Campaign = DS.Model.extend({ 
     name: DS.attr('string'), 
     number: DS.attr('string') 
    }); 

SA.Store = DS.Store.extend({ 
    adapter: DS.RESTAdapter.extend({ 
     url: "http://localhost/self_admin/json", 
     buildURL: function(record, suffix) { 
      var s = this._super(record, suffix); 
      return s + ".json"; 
     } 
    }) 
}); 
+0

你可以向服務器發送任何請求,或者沒有發送任何請求嗎? –

+0

@MárcioRodriguesCorreaJúniornope ..沒有發送..沒有請求服務器。 –

+0

我想你需要告訴我們更多的代碼,看看它失敗的地方... – intuitivepixel

回答

0

我給在sourcebuildUrl一臉期待的根,後綴,記錄作爲參數。

嘗試改變這一點:

buildURL: function(record, suffix) { 
    var s = this._super(record, suffix); 
    return s + ".json"; 
} 

要:

buildURL: function() { 
    var s = this._super.apply(this, arguments); 
    return s + ".json"; 
} 

這是更好的方式來覆蓋的方法,因爲通知所有的參數將被傳遞給超方法。