【问题标题】:EmberJS hasMany relationship length returning 0EmberJS hasMany 关系长度返回 0
【发布时间】:2013-06-19 23:16:52
【问题描述】:

我有一个召唤师模型

TournamentAdmin.Summoner = DS.Model.extend({
  name: DS.attr('string'),
  elo: DS.attr('number'),
  team: DS.belongsTo('TournamentAdmin.Team')
});

和团队模型

TournamentAdmin.Team = DS.Model.extend({
  name: DS.attr('string'),
  email: DS.attr('string'),
  summoners: DS.hasMany('TournamentAdmin.Summoner')
});

团队模型工作正常,但是当我尝试从团队模型中获取召唤者模型时,它什么也没返回。长度为 0。

生成团队模型返回的 JSON 是 {"team":{"id":1,"name":"Anujan","email":"wat@wat.com","summoners":[{"id":1,"name":"Anujan","elo":100}]}}

我也尝试将 team_id 添加到 json 中。

模板是

  <h1>{{name}}</h1>
  <h2>by {{email}}</h2>
  <hr>
  <div class="below-the-fold">
    {{summoners.length}}
    {{#each summoner in summoners}}
        please print something
    {{/each}}
  </div>

【问题讨论】:

    标签: javascript ruby-on-rails ember.js ember-data


    【解决方案1】:

    您的 http 响应不是 ember-data 期望的侧载数据格式。

    看看http://emberjs.com/guides/models/the-rest-adapter/#toc_sideloaded-relationships 你的回复应该是什么样子。

    也许有一种方法可以配置/调整 RESTAdapter...但我不知道如何

    【讨论】:

    • 哇!谢谢,我设法用这些信息和 Active Model Serializers 上的文档来修复它!非常感谢您的帮助:)
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2023-03-31
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2020-10-10
    相关资源
    最近更新 更多