ember-data - загрузка данных для меню - лучший подход
У меня есть список категорий, которые загружаются по маршруту приложения:
ApplicationRoute = Em.Route.extend({
model: function() {
return Em.RSVP.hash({
collections: this.store.find('collection'),
categories: this.store.find('category'),
links: this.store.find('link')
});
}
});
Это запускает действие индекса категории на сервере, как и ожидалось. Я делаю это, потому что мне нужно загрузить список категорий для меню.
У меня также есть категория маршрута:
Router.map(function() {
this.route('category', { path: '/categories/:category_id' });
});
CategoryRoute = Em.Route.extend({
model: function(params) {
this.store.find('category', params.category_id);
}
});
Поскольку в магазине уже есть список категорий, к серверу нет запросов. Однако здесь я хочу показать более подробную информацию. Я хочу отправить запрос на действие show сервера.
Вероятно, я не думаю "по-дурацки", но мне кажется, что мне нужно каким-то образом принудительно запросить сервер в маршруте или создать отдельную модель для категорий меню.
Как это сделать с данными ember?
Примечания: ember.js-1.1.2 и ember-data-1.0.0.beta.3
1 ответ
В итоге я использовал отдельную модель CategoriesList. Тем не менее, это чувствует себя неоптимальным.