【问题标题】:Emberjs Displaying Associative Data Within Parent Model TemplateEmberjs 在父模型模板中显示关联数据
【发布时间】:2013-12-10 22:19:35
【问题描述】:

我在 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>

动作关联似乎为空或 null,因为即使 Ember 商店显示正确的存储信息,它也没有通过 #each 检查。

我已经用模板尝试了一些事情,例如 {{#each action in model.actions}} 等,但无济于事。任何帮助将不胜感激!

【问题讨论】:

    标签: ember.js associations ember-data


    【解决方案1】:
    user: {
      action_ids: [1, 2, 3]
    },
    

    应该是

    user: {
      actions: [1, 2, 3]
    },
    

    【讨论】:

    • 当使用带有 EmberData 的 RESTAdapter 而不是 FIXTUREAdapter 时?
    • 在 ED 1.0 beta 和更新版本中
    • 哇,我花了太多时间让它变得如此简单...... GAH......它虽然有效。感谢您的帮助。
    猜你喜欢
    • 2015-01-25
    • 1970-01-01
    • 2011-04-23
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多