Как получить отношения с 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.[]')
})