Как получить отношения с Ember Model, если ответ не включает отношения?

Похоже, что Ember Model ожидает одну из двух вещей: ключ отношения в ответе JSON содержит (1) данные записей или (2) идентификаторы записей. API, с которым я работаю (и который я не могу контролировать) не предоставляет ни того, ни другого. Он просто возвращает пустой массив, указывающий, что он может иметь comments, Я вставил образец ответа JSON для вызова /posts/1,

{
  id: 1,
  title: "Hello World",
  comments: []
}

Конечная точка API для комментариев /posts/1/comments, Используя Ember Model, как можно получить комментарии к посту? Это не только проблема, когда отношения "пустые" (данные и идентификаторы не предоставляются), но и с глубоко вложенными иерархиями моделей. url Для свойства Ember Model потребуется (1) один или несколько динамических сегментов и (2) возможность заменить эти динамические сегменты данными при построении URL-адреса для запроса.

Структура, с которой я сейчас работаю (отражает API, с которым я работаю) выглядит следующим образом: /series/:serie_id/seasons/:season_id/episodes/:episode_id, Я не думаю, что разумно ожидать, что API вернет все дерево данных для одной или нескольких серий.

1 ответ

Вы можете использовать вычисляемое свойство в модели сообщений, а затем написать собственный адаптер для вывода сообщений.

App.Post = Ember.Model.extend({
  comment_ids: attr(),
  comments: function() {
    return App.Comment.find(this.get("comment_ids"); 
  }.property('comment_ids.[]')
})
Другие вопросы по тегам