gpt4 book ai didi

javascript - findRecord 给出错误 "Cannot read property ' _internalModel' of undefined"

转载 作者:数据小太阳 更新时间:2023-10-29 05:22:11 25 4
gpt4 key购买 nike

在我们的 ember 应用程序中,我们使用以下版本的 ember-data 和 ember-data-factory-guy。

包.json

"ember-cli": "^1.13.8",
"ember-data": "1.13.9",
"ember-data-factory-guy": "1.13.10",

注意:我们使用的是事件模型适配器,尚未迁移到 json-api 适配器。

import ActiveModelAdapter from 'active-model-adapter';
export default ActiveModelAdapter.extend({

路由:item.js

export default Ember.Route.extend(({
model(params) {
return this.store.findRecord('item', params.item_id);
}
});

在开发模式下工作正常,但在运行测试用例时,我面临以下问题:

“显示单个项目”的测试用例失败并出现以下错误:

{
"message": "Cannot read property '_internalModel' of undefined",
"name": "TypeError"
}

ember-data/lib/system/stpre/finder.js,在 return 语句处失败

返回 promise.then(function (adapterPayload) { Ember.assert("你请求了一个id为"+id+"的"+typeClass.typeClassKey+",但是适配器的响应没有任何数据",adapterPayload);

return store._adapterRun(function () {
var requestType = get(serializer, 'isNewSerializerAPI') ? 'findRecord' : 'find';
var payload = normalizeResponseHelper(serializer, store, typeClass, adapterPayload, id, requestType);
//TODO Optimize
var record = pushPayload(store, payload);
return record._internalModel;
});

( https://github.com/emberjs/data/blob/master/packages/ember-data/lib/system/store/finders.js#L32 )

我们在这里遗漏了什么吗?谁能帮我解决这个问题?我已经尝试将版本升级到最新版本,但仍然面临同样的问题。

最佳答案

在我的例子中,问题是服务器的响应没有根元素。

服务器正在为用户返回:

{
surname: 'surname',
name: 'name',
_id: 56ead1ace85b04be4a7e50e6
}

改为:

user: {
surname: 'surname',
name: 'name',
_id: 56ead1ace85b04be4a7e50e6
}

关于javascript - findRecord 给出错误 "Cannot read property ' _internalModel' of undefined",我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32889963/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com