我有两个异步模式:灰烬集只有一个元素,而不是许多
App.Posts = DS.Model.extend({
'content': attr('string'),
'comments': DS.hasMany('comments', {async: true}),
});
App.Comments = DS.Model.extend({
'body': DS.attr('string'),
'postId': DS.belongsTo('posts', {async: true})
});
经由PostController中我试图通过一个动作的onClick加载评论:
App.PostController = Ember.ArrayController.extend({
loadComments: function(post_id) {
this.store.find('comments', post_id);
}
});
(或许还有)
请求和API响应正确(请参阅下面的API响应),但只显示一条评论,然后Ember抛出一个错误:
TypeError: Cannot read property 'postId' of undefined
在余烬控制台>数据选项卡中,注释模型中有一个注释,但注释模型中也有一个注释元素,注释属性设置为undefined。这可以解释为什么Ember无法读取属性postId,因为它不是注释。为什么Ember将帖子推入评论模型,并且只将一个而不是3个评论推入模型中?
API响应
{
"comments": [
{
"id": 2,
"postId": 31152,
"body": "Lorem ipsum dolor sit amet, consetetur",
},
{
"id": 2,
"postId": 31152,
"body": "asdasd",
},
{
"id": 2,
"postId": 31152,
"body": "asd asd sd",
}
]
}
你可以显示你的路由器。如果您的评论嵌套在帖子资源中,您必须在您的控制器中指定。 – Stakoov 2014-10-03 12:26:59