【发布时间】:2017-04-10 01:16:08
【问题描述】:
版本:Ember 2.11
我正在尝试使用 Ember 数据模型从 REST API 加载数据,但失败并显示错误消息
ember.debug.js:17634 Assertion Failed: You need to pass a model
name to the store's modelFor method
Error
at assert (http://localhost:4200/assets/vendor.js:16249:13)
at Object.assert
(http://localhost:4200/assets/vendor.js:27921:34)
at assert (http://localhost:4200/assets/vendor.js:76154:37)
at Class.modelFor
(http://localhost:4200/assets/vendor.js:86032:41)
at Class._internalModelForId
(http://localhost:4200/assets/vendor.js:85168:29)
这是我的代码:
序列化器/sfresult.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
});
序列化器/sfresults.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend({
});
models/sfresult.js
import DS from 'ember-data';
export default DS.Model.extend({
sfresults: DS.hasMany('sfresults', { async: false }),
message: DS.attr('string')
});
模型/sfresults.js
import DS from 'ember-data';
export default DS.Model.extend({
title: DS.attr('string'),
description: DS.attr('string'),
caseNumber: DS.attr('string'),
lastModifiedDate: DS.attr('string'),
type: DS.attr('string'),
url: DS.attr('string'),
searchText: DS.attr('string'),
messageId: DS.attr('string')
});
控制器代码:
let sfdata = this.store.query('sfresult',{ 'searchText': inputSearchText, 'searchType' : 'SF' } );
JSON 响应:
{
"sfresult":{
"message":"SUCCESS",
"sfresults":[
{
"viewScore":"100.0",
"caseNumber":"000005462",
"id":"1d725883-15f2-4f18-927c-b14455440458",
"url":"url1",
"title":"title",
"description":"",
"lastModifiedDate":"12/29/16"
},
{
"caseNumber":"00007082",
"status":"Closed",
"id":"b79c0397-f544-45f0-8b91-e2bb7a386ebf",
"url":"ur2",
"title":"title1?",
"description":"",
"messageId":"500E000000DPA33IAH",
"lastModifiedDate":"08/16/16"
}
]
"id":"2b238d70-01ce-4604-913f-29d4c5eeba60"
}
}
我想获得 sfresult 并对其进行迭代以在 UI 中显示它。在 Ember 选项卡中,我可以看到数据正在加载到 sfresult 并且在 sfresults 对象中看不到任何东西。我尝试了很多组合,但无法使其发挥作用。有人可以帮忙吗?
【问题讨论】:
-
@ebrahim-pasbani 你对此有什么想法吗?
标签: ember.js ember-data ember-cli