Ember关联返回类而不是实例

时间:2015-09-11 01:10:50

标签: javascript ember.js ember-data ember-cli

我正在使用Ember 1.13Ember data 1.13

每当我findRecord向api端点发送请求时,所有信息都会正确返回并正确放入存储中,我可以在Ember-inspector/data中查看。

然后,当我尝试从我请求的主模型中获取关联时,它会返回Class而不是instance,即使我可以在Ember-inspector/data中看到协会和两个模型都在那里。

ember-inspector enter image description here

请求代码:

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中的关联,这非常奇怪。

更新 我们正在使用JSONAPIAdapterJSONAPISerializer

business model enter image description here

businessPreference model enter image description here

以下是api返回的响应。这符合JSONAPI 1.0条款。我们将normalizeResponse函数添加到JSONAPISerializer以立即返回JSONAPI有效负载

enter image description here

1 个答案:

答案 0 :(得分:0)

尝试let business = this.store.findRecord('business', 1).then(function(business) {return business;});一旦promise解决,它应该将模型返回给变量......