У меня есть 3 модели в цепочке hasMany. НАПРИМЕР. Галерея -> Изображение -> Комментарий
Возврат как выбранной галереи, так и изображений в ней в одном ответе json работает, как и ожидалось. Бэкэнд — это приложение Rails, использующее active_model_serializers, кстати.
{"images":[...],"galleries":{"id":1,...,"images":[1,2,3]}}
Но когда я сообщаю сериализатору о комментариях, и они включаются в json, я получаю ошибку отображения от Ember.
{"comments":[...],"images":[...],"galleries":{"id":1,...,"images":[1,2,3]}}
Ошибка: утверждение не удалось: ваш сервер вернул хэш с ключевыми комментариями, но у вас нет для него сопоставления
Я не могу понять, как правильно сказать Эмберу, как с этим справиться. Моя отладка предполагает, что все в ответе json должно быть напрямую указано в модели галереи. Я попытался добавить «сопоставление» в RESTAdapter, используя как формы единственного, так и множественного числа, чтобы быть уверенным. Я не вижу разницы «комментарии: App.Comment» или «комментарий: App.Comment».
Я полагаю, что мог бы сдаться и просто сделать еще несколько запросов, но, поскольку комментарии всегда используются, когда используется данное изображение, это кажется неправильным. Мне бы хотелось, чтобы вам помогли понять, как разрешить данные в одном ответе.
Нужно ли мне полностью перенастраивать сериализаторы и Ember для встраивания данных вместо того, чтобы ссылаться на них с помощью идентификаторов?
Черс, Мартин
(Примечание. Названия моделей вымышлены, чтобы сделать их более понятными по сравнению с забавной областью, которую я моделирую на самом деле)