У меня есть регистрация нового адаптера на DS.Store. Чтобы дать вам некоторый контекст о том, что я пытаюсь выполнить ... Некоторые из моделей в моем приложении ember должны обращаться к различным API-интерфейсам, поэтому я не могу использовать один RESTAdapter. Вместо этого я пытаюсь создать несколько адаптеров (по одному для каждого API, который мне нужен). Мой план состоит в том, чтобы иметь один DS.Store для всего приложения и связать мои пользовательские адаптеры с правильными моделями. Я пытался это сделать, используя DS.Store.registerAdapter, но я получаю сообщение об ошибке, которое говорит о том, что «registerAdapter» не может быть найден на объекте DS.Store.Ember Data registerAdapter не найден
Вот мой код, что я работаю с:
/* FILE: adapters/store.js: */
import AnalyticsAdapter from 'appkit/adapters/analytics';
import MetricsModel from 'appkit/models/metrics';
// This line is the one that is throwing the error...
DS.Store.registerAdapter(MetricsModel, AnalyticsAdapter);
var Store = DS.Store.create();
export default Store;
/* END adapters/store.js */
/* FILE: adapters/analytics.js: */
var AnalyticsAdapter = DS.Adapter.extend({});
export default AnalyticsAdapter;
/* END adapters/analytics.js */
/* FILE: models/metrics.js: */
import AnalyticsAdapter from 'appkit/adapters/analytics';
var MetricsModel = Ember.Object.extend({
startDate: null,
endDate: null,
revenue: 0,
starts: 0
});
export default MetricsModel;
/* END models/metrics.js */
Когда я пытаюсь запустить приведенный выше код в браузере, я получаю ошибку о том, что метод «registerAdapter» не найден. Я просмотрел документы Ember Data, и я не вижу метод registerAdapter, но почти все решения, которые я нашел в Интернете, используют этот метод. Есть ли у кого-нибудь какие-либо предложения о том, как я могу выполнить то, что я пытаюсь выполнить?
Спасибо! - JMG
Большое спасибо за Ваш ответ. MetricsModel действительно должен быть моделью, а не адаптером. MetricsModel - это модель, которая будет сохранена/извлечена, и я надеялся использовать AnalyticsAdapter в качестве адаптера для подключения MetricsModel к API. Будет ли описанный выше код? Мне кажется, что MetricsAdapter будет распространяться на DS.Adapter, а не на Ember.Object. Я действительно думаю, что мне нужен либо Ember.Object, либо DS.Model. Возможно, я не объяснил это в моем описании;) –
В приведенном выше коде будет создан пользовательский адаптер для модели показателей, и да, ваши показатели должны быть DS.Model.extend – Kingpin2k
http://emberjs.jsbin.com/ OxIDiVU/11/редактировать – Kingpin2k