我正在使用Ember 1.13
,Ember data 1.13
。
每当我findRecord
向api端点发送请求时,所有信息都会正确返回并正确放入存储中,我可以在Ember-inspector/data
中查看。
然后,当我尝试从我请求的主模型中获取关联时,它会返回Class
而不是instance
,即使我可以在Ember-inspector/data
中看到协会和两个模型都在那里。
请求代码:
var business = this.store.findRecord('business', 1);
我也尝试过使用then函数:
this.store.findRecord('business', 1).then(function(business) {};
然后我尝试获得关联:
var businessPreference = business.get('businessPreference');
这会返回一个类:
Class {__ember1441932015632: null, __nextSuper: undefined, __ember_meta__: Object}
如果我尝试从中获取一个属性,那就给我一个未定义的
businessPreference.get('cancellationWindow');
undefined
注意:我目前正在component
中尝试此操作。为了做到这一点,我注入了store
。它也从model hook
执行相同的操作,但正确地返回afterModel hook
中的关联,这非常奇怪。
更新
我们正在使用JSONAPIAdapter
和JSONAPISerializer
。
以下是api返回的响应。这符合JSONAPI 1.0
条款。我们将normalizeResponse
函数添加到JSONAPISerializer
以立即返回JSONAPI
有效负载
答案 0 :(得分:0)
尝试let business = this.store.findRecord('business', 1).then(function(business) {return business;});
一旦promise解决,它应该将模型返回给变量......