2012-04-19 18 views
3

當我在商店中創建新的DS.Model記錄並調用提交時,我想知道何時在持久層和我有權訪問id屬性。創建記錄並設置了服務器端ID後調用的DS.Model回調

我認爲didCreate回調會做到這一點。但令我驚訝的是,當調用didCreate時,id仍爲undefined

所以我的問題基本上是,我做錯了什麼,有一個更好的回調我的用例還是這個錯誤?

+0

什麼適配器您使用? – pangratz 2012-04-19 12:56:38

+0

內置REST適配器,無需修補程序/修改。 – stravid 2012-04-19 13:07:32

+0

嘆息,有同樣的問題... – 2013-04-18 03:22:22

回答

2

嗯,它看起來像this測試用例應該覆蓋這一點。我認爲你應該提交一張票。

正如你可以沿着這些線路使用一些解決方法,請參見http://jsfiddle.net/pangratz666/ZkQHE/

App.IdWatcher = Ember.Mixin.create({ 
    init: function() { 
     this._super(); 
     this.addObserver('data', this, '_dataDidChange'); 
    }, 
    _dataDidChange: function() { 
     var id = this.get('id'); 
     if (id) { 
      this.idHasBeenDefined(id); 
      this.removeObserver('data', this, '_dataDidChange'); 
     } 
    } 
}); 

App.Model = DS.Model.extend(App.IdWatcher, { 
    label: DS.attr('string'), 

    idHasBeenDefined: function(id) { 
     console.log('id is set to %@'.fmt(id)); 
    } 
}); 
+0

感謝您的解決方法,問題已經創建:-) – stravid 2012-04-20 08:02:55

相關問題