我在我的Ember应用程序中遇到了障碍,我一直试图摆脱它。我有两个模型如下:
App.UserModel = DS.Model.extend({
../
actions: DS.hasMany('action')
});
和
App.ActionModel = DS.Model.extend({
../
user: DS.belongsTo('user')
});
我查看用户个人资料的路线如下:
App.UsersProfileRoute = Em.Route.extend({
model: function(params) {
return this.get('store').find('user', params.user_id);
}
});
从服务器获取以下结构:
{
user: {
action_ids: [1, 2, 3]
},
actions: [{
id: 1,
type: "Problem"
},{
id: 2,
type: "Problem"
},{
id: 3,
type: "Problem"
}]
}
根据Ember的Chrome扩展程序正确加载商店。但是当我尝试在模板中访问关联数据时如下:
<h2>Actions</h2>
<div class="container">
{{#each actions}}
you have action
{{else}}
You don't have actions
{{/each}}
</div>
似乎action关联为空或null,因为即使Ember Store显示正确的存储信息,它也不会通过#each检查。
我尝试了一些模板,例如{{#each action in model.actions}}等,但无济于事。任何帮助将不胜感激!
答案 0 :(得分:1)
user: {
action_ids: [1, 2, 3]
},
应该是
user: {
actions: [1, 2, 3]
},