Ember store выбирает неверную модель - PullRequest
0 голосов
/ 04 октября 2018

Я реализую новую страницу для существующего приложения Ember.

DEBUG: -------------------------------
DEBUG: Ember           : 2.16.4
DEBUG: Ember Data      : 2.16.4
DEBUG: jQuery          : 3.3.1
DEBUG: Model Fragments : 2.14.0
DEBUG: -------------------------------

Я добавил новую модель call-info.js, и уже было call.js

После того, как я попытался получить данные ссправка из магазина

model(params) {
    return this.store.findRecord('call-info', params.call_id);
}

Я получил объект с правильно установленным атрибутом id.

Проблема в том, что хранилище использовало модель call.js для десериализации вместо call-info.js.

Когда я удалил call.js хранилище моделей вернуло правильный объект со всеми правильно установленными атрибутами.

Есть ли способ исправить эту проблему или как-то указать правильную модель ('call-info') для this.store.findRecord метод?

1 Ответ

0 голосов
/ 06 октября 2018

Основная проблема заключалась в том, что ответ API содержал тип свойства

{
    call-info: {
     ...
     type : call,
     ...
    }
  }

Это поле заставляло хранилище ember думать, что модель вызывается, но не calldetail.Как только я удалил это поле, проблема исчезла.

...