Кэширование в Ember с помощью DS.ActiveModelAdapter

Мое приложение Ember извлекает данные из бэкэнда Rails с помощью active_model_serializers на бэкенде и DS.ActiveModelAdapter на фронте. Все работает хорошо, но я не понимаю стратегию кэширования.

Согласно Emberjs.org, кэширование документов происходит автоматически:

Магазин автоматически кэширует записи для вас. Если запись уже была загружена, повторный запрос всегда будет возвращать один и тот же экземпляр объекта.

Однако всякий раз, когда я посещаю следующий маршрут (app/routes/suppliers.js), адаптер заново извлекает данные с сервера:

import Ember from 'ember';
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin';

export default Ember.Route.extend(AuthenticatedRouteMixin, {

  model: function() {
    return this.store.find('Supplier');
  }

}); 

Я заметил, что когда я посещаю детальный маршрут (app/routes/supplier.js), сервер не вызывается, так как одна запись предположительно повторно используется из коллекции.

Поскольку мое приложение в основном доступно только для чтения и не требует большого количества обновлений, я хочу кэшировать всю эту коллекцию (пока я не решу сделать кеш недействительным), чтобы я мог переключаться между представлениями сведений и представлениями коллекции без задержка обновления данных коллекции с сервера.


person sirvine    schedule 01.08.2014    source источник
comment
Предполагаемому повторяющемуся ответу больше года (эоны во времена Ember), и он не отвечает на мой основной вопрос: почему в документах Ember говорится, что кэширование выполняется автоматически, хотя, по-видимому, это не так?   -  person sirvine    schedule 02.08.2014