Вы можете использовать keySource или keyDestination для решения вашей конкретной проблемы.
Пример
В следующем примере предположим, что мыполучают данные из реляционной базы данных старой школы, где существует отношение один-ко-многим между Monster и Loot_Item .Это отношение выражается внешним ключом Monster_Id в таблице Loot_Item .Предположим также, что наш REST-сервис не выполняет для нас никакого нестандартного размещения данных, поскольку, похоже, это достаточно близко соответствует ситуации в вашем вопросе.
keySource
Теперь давайтеустановите set "keySource" для моего внешнего ключа ("Monster_Id") и "key" для имени атрибута, к которому я хочу передать фактические данные (скажем, "Monster").Если вы прерветесь в отладчике, вы увидите в объекте атрибутов, что на самом деле есть поле с именем «Монстр», и оно указывает на данные модели монстра.Эй, круто!
includeInJSON
Однако, если вы JSON этого щенка, угадайте что?Он поместил все данные о монстрах в Monster_Id, как вы и не хотели!GAH!Мы можем исправить это, установив «includeInJSON» в «Monster_Id».Теперь, когда он преобразуется в JSON, он возвращает верный идентификатор в поле Monster_Id, когда сериализует ваши данные в JSON, для отправки на сервер.
Проблема решена?Э-э, ну, на самом деле, не обязательно ...
CAVEAT : Все это звучит очень полезно, но есть одна довольно вопиющая проблема, которую я обнаружил с этимсценарий.Если вы используете шаблонизатор (такой как в Underscore.js), который требует от вас преобразования вашей модели в JSON, прежде чем передавать ее в шаблон, к сожалению, у вас нет доступа к вашим реляционным данным.Увы, JSON, который мы хотим для наших сообщений, не обязательно является тем JSON, который мы хотим вставить в наши шаблоны.