Я добавляю ember-simple-auth для обработки аутентификации для приложения, которое я создаю. В настоящее время в ApplicationRoute я использую модель для загрузки содержимого боковой панели.
Некоторые данные зависят от свойства URL-адреса пользователя, которое возвращается с токеном аутентификации.
Я реорганизую свой код для обработки данных загрузки для аутентифицированного пользователя, но я не уверен, куда поместить вызов модели для загрузки данных боковой панели.
Я думаю, имеет смысл добавить наблюдателя в свойство isAuthenticated, чтобы запустить загрузку модели или взять мои текущие маршруты и обернуть их в ресурс, который отвечает за загрузку модели?
Маршрут приложения
App.ApplicationRoute = Ember.Route.extend(Ember.SimpleAuth.ApplicationRouteMixin,
{
model: function()
{
return Ember.RSVP.hash(
{
collections: Ember.$.getJSON(this.session.get('user.url') + '/collection'),
libraries: Ember.$.getJSON(ENV.api + '/library')
});
},
setupController: function(controller, model)
{
controller.set('libraries', model.libraries);
controller.set('collections', model.collections);
}
});
Отображение маршрута
App.Router.map(function()
{
this.route('login');
// Authenticated Routes
this.route('my-account');
this.route('collection', { path: '/collection/:id' });
this.route('item.new', { path: '/item/new' });
this.route('item.edit', { path: '/item/:id' });
this.route('library', { path: '/:slug' });
});