App.User = DS.Model.extend({
posts: DS.hasMany('post', {async: true})
});
App.Post = DS.Model.extend({
body: DS.attr(),
user: DS.belongsTo('user')
});
App.ProfileRoute = Ember.Route.extend({
model: function(params) {
return this.get('store').find('user', params.user_id)
}
});
并在模板中
{{#each post in model.posts}}
{{post.body}}
{{/each}}
json用户。我不希望在用户json中嵌入帖子
{user: { posts: [1, 2, 3] }}
这不会渲染任何东西。发生此错误后,它会从服务器接收帖子json
断言失败:你在''上查找'posts'关系但是没有加载一些相关的记录。要么确保它们都与父记录一起加载,要么指定关系是异步的(DS.attr({ async: true })
)
在chrome检查器中,我看到所有数据都已正确加载。 我怎么解决这个问题?我应该预加载我想在模板中使用的所有模型吗?
答案 0 :(得分:0)
路由中的model
函数缺少return
,因此当您尝试访问model.posts
时会抛出错误,因为没有模型。
App.ProfileRoute = Ember.Route.extend({
model: function(params) {
return this.get('store').find('user', params.user_id);
}
});
答案 1 :(得分:0)
您是否曾尝试撰写{{#each posts}}?
为我的项目工作。
然后在每个块中写{{body}}。
让我知道,谢谢!