2013-04-20 33 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( '是否新款') - >真

相关问题