2013-11-20 80 views
0

看看這個代碼,這是我的模型:爲什麼即使保存我的數據,Dirty()也會返回true?

App.Partita = DS.Model.extend({ 
    data: DS.attr('string'), 
    ora: DS.attr('string'), 
    evento: DS.attr('string'), 
    segno: DS.attr('string'), 
    quota: DS.attr('number'), 
    vinto: DS.attr('boolean', false), 
    giocata: DS.attr('number'), 
    vincita: DS.attr('number'), 
    cassa: DS.attr('number'), 
    remove: DS.attr('boolean', false), 

    remover: function() { 
     this.deleteRecord(); 
    this.save(); 
    }.observes('remove', true), 

    vintoChange: function() { 
     console.log(this); 
     console.log(this.get('isDirty')); 
     if(!this.get('isDirty')) 
    this.save(); 
    }.observes('vinto') 

}); 

,我使用本地存儲適配器的數據:

App.LSAdapter = DS.LSAdapter.extend({ 
namespace: 'app_namespace' 
}); 
App.ApplicationAdapter = DS.LSAdapter; 

我不知道爲什麼,但在功能「vintoChange」被觸發時,我總是得到,即使它之前保存

.get('model').save(); 

有人可以解釋的數據是髒的?

+0

檢查其他問答,有很多提到isDirty標誌。也許這可以幫助[如何手動設置對象狀態清理(保存)使用ember-data](http://stackoverflow.com/questions/13342250/how-to-manually-set-an-object-state-使用-燼數據到潔淨的保存-?RQ = 1) –

回答

0

您確定它正在保存嗎?您實際上並未驗證它是否已保存。我敢打賭,服務器端你對發送的數據感到滿意,但客戶端的內部數據會從服務器獲得的數據中拋出一個錯誤。

var savePromise = this.save(); 

savePromise.then(
    function(){ alert('saved'); }, 
    function(){ alert('failed to save'); } 
); 
相關問題