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. Тем не менее, это чувствует себя неоптимальным.

Другие вопросы по тегам