Ember Data - вложенные вложенные записи возвращают ноль - PullRequest
0 голосов
/ 24 апреля 2019

У нас есть сценарий, когда встроенная запись встроенной записи возвращает ноль.

Цепочка отношений выглядит следующим образом: userProfile --belongsTo -> organisation --hasOne (т.е. принадлежит) -> jurisdiction.

Тем не менее, при извлечении всех записей userProfile юрисдикция остается незаполненной.

Пока что соответствующие сериализаторы и модели выглядят так:

UserProfile

Модель

organisation: belongsTo('organisation', { async: false }),

Serializer

 attrs: {
    'organisation': { embedded: 'always' },
    ...
  },

Организация

Модель

userProfile: hasMany('userProfile', { async: false }),
jurisdiction: belongsTo('jurisdiction', { async: false }),

Serializer

  attrs: {
    ...
    'jurisdiction': { embedded: 'always' },
  },

Юрисдикция

Модель

organisation: belongsTo('organisation', { async: false }),

Serializer

  attrs: {
    ...
    area: { key: 'jurisdictionArea' },
    name: { key: 'jurisdictionName' },
  },

Я полагаю, что проблема может заключаться в том, что эта часть API не соответствует спецификации JSON API, в качестве примера userProfile ответ может выглядеть следующим образом:

...
organisation: {
   jurisdictionArea: "TAU"
   jurisdictionId: "82cfda0b-3180-41cf-b0fa-b1193655bc0b"
   organisationId: "960d4ec2-bc90-11e8-a355-529269fb1459"
}

Я думаю, что это может быть решено с помощью методов normalizeResponse или serializeBelongsTo в сериализаторе organisation, однако мои попытки пока не увенчались успехом. Любой совет о том, как решить эту проблему, был бы очень умиротворен.

...