我正在使用ember-data
最后一个版本,我正试图解决一个重要问题。
id的find
函数工作正常,并且正确的记录被加载到数据存储中,因此我可以在模板中获取我想要的属性来渲染它们。
App.PostRoute = Ember.Route.extend({
model: function(params) {
return this.store.find('post', params.post_id);
}
});
另一方面,findAll
函数对我不起作用,问题是Ember不会抛出任何错误。此外,Ember不会加载任何记录,除此之外我不知道如何迭代模板中返回的RecordArray
。
App.PostsRoute = Ember.Route.extend({
model: function() {
return this.store.find('post');
}
});
有什么建议吗?谢谢你的帮助。
答案 0 :(得分:1)
如上所述,如果您的回复如下:
[
{"id":"1","attribute1":"value1", ...,"attributen": "valuen"},
{"id":"2","attribute1":"value1", ...,"attributen": "valuen"}
]
并且您没有提供自定义序列化程序来修改extractArray(...)
中的响应,然后数据将无法处理,因为Ember Data需要以下内容:
{
"pluralizedModelName": [
{"id":"1","attribute1":"value1", ...,"attributen": "valuen"},
{"id":"2","attribute1":"value1", ...,"attributen": "valuen"}
]
}
请参阅Ember Data 1.0特定代码:https://github.com/emberjs/data/blob/master/TRANSITION.md#rest-adapter-and-serializer-configuration
答案 1 :(得分:0)
您如何在模板中引用模型?您使用生成的控制器,还是自己定义?
此外,RecordArray应由Handlebars模板自动解析。尝试引用{{#each}}。默认情况下,您的模板将在控制器上查找属性,如果未找到,则冒泡到模型。如果可以的话,创建一个JSBin(emberjs.jsbin.com),我们可以与一个例子合作。
编辑:另外,您使用的是Fixture还是Rest Adapter?