Доступ к полю отношений в шаблоне emberjs? - PullRequest
0 голосов
/ 05 июня 2018

Вот текущая структура, которая у меня есть на моей emberjs модели

import DS from 'ember-data';

export default DS.Model.extend({
  team: DS.belongsTo('team'),
  opponent: DS.belongsTo('team'),
  type: DS.attr('string'),
});

, и шаблон, из которого я ее вызываю, выглядит следующим образом

  <div class="container">
    {{#each model as |match|}}
      <div class="match">
        <code>Match type : {{match.type}}</code>
        <p>Team 1 : {{match.team.name}}</p>
      </div>
    {{/each}}
  </div>

Теперь match.team возвращает мне обещание.Мой вопрос заключается в том, как отобразить name на стороне шаблона.

team с правильным идентификатором уже был заполнен вызовом модели api в качестве отношения.

РЕДАКТИРОВАТЬ

Проблема в том, что Обещание разрешено без содержания.Ниже приводится ответ json

{
  "meta": {
    "type": "match"
  },
  "included": [{
    "type": "team",
    "id": 3,
    "attributes": {
      "id": 3,
      "name": "teamName",
      "logo": null,
      "created-at": "2018-06-05T07:05:42.000Z",
      "updated-at": "2018-06-05T07:05:42.000Z"
    }
  }],
  "data": [{
    "id": 1124639,
    "type": "match",
    "attributes": {
      "id": 1124639,
      "team": 77,
      "opponent": 1,
      "starts-on": "2018-06-10T00:00:00.000Z",
      "created-at": "2018-06-05T08:30:13.000Z",
      "updated-at": "2018-06-05T08:30:13.000Z",
      "relationships": {
        "team": {
          "data": {
            "id": 77,
            "name": "teamName",
            "logo": null,
            "created-at": "2018-06-05T07:05:57.000Z",
            "updated-at": "2018-06-05T07:05:57.000Z",
            "type": "team"
          }
        }
      }
    }
  }]
}

Я предполагаю, что со структурой для relationships что-то не так, но не могу понять, что именно?

1 Ответ

0 голосов
/ 05 июня 2018

Показанный резонанс не является стандартным JSON-API.Вы не хотите что-то похожее на это:

{
  "meta": {
    "type": "match"
  },
  "included": [{
    "type": "team",
    "id": 77,
    "attributes": {
      "id": 77,
      "name": "teamName",
      "logo": null,
      "created-at": "2018-06-05T07:05:42.000Z",
      "updated-at": "2018-06-05T07:05:42.000Z"
    }
  }],
  "data": [{
    "id": 1124639,
    "type": "match",
    "attributes": {
      "id": 1124639,
      "opponent": 1,
      "starts-on": "2018-06-10T00:00:00.000Z",
      "created-at": "2018-06-05T08:30:13.000Z",
      "updated-at": "2018-06-05T08:30:13.000Z"
    },
    "relationships": {
      "team": {
        "data": {
          "id": 77,
          "type": "team"
        }
      }
    }
  }]
}
...