2013-04-20 30 views
0

我使用Ember + Ember數據。當我在相應的服務器端調用其狀態屬性(isLoaded,isNew,isValid等)之後創建一個實體時,它們都是未定義的。我的期望是這些應該適當地設置。例如,在服務器端調用之前,我期望isNew是'true',並且在服務器端創建後,我期望isNew是'false'。剛創建的實體與燼數據沒有其狀態集

我創建的enity這樣:

myEntity = MyApp.MyEntity.createRecord({attr1: "value1"}); 
... 
myEntity.transaction.commit(); 

善有善報來回:

Sent: 
{"myEntity":{"attr1":"value1"}} 
... 
Received: 
{"myEntity":{"id":2,"attr1":"value1","attr2":"value2"}} 

實體本身的定義是這樣的:

MyApp.MyEntity = DS.Model.extend({ 
    attr1: DS.attr("string"), 
    attr2: DS.attr("string") 
}); 

不幸的是前並且在遠程調用「myEntity」之後,所有狀態屬性均爲「未定義」。 我錯過了什麼嗎?

謝謝!

回答

0

我想這個問題可能是因爲你沒有遵循Ember Data的命名約定。如果您使用的是默認DS.RESTAdapter,您的MyApp.MyEntity將會發布到/my_entity,Ember Data將在my_entitymy_entitys密鑰下的響應中查找模型。

還有可能通過使用函數App.Adapter來自定義此默認行爲。

0

我的問題是我直接檢索狀態,即不使用getter。

WRONG:myEntity.isNew - >未定義

RIGHT:myEntity.get( '是否新款') - >真

相關問題