У меня проблема с ember, когда я хочу использовать данные сеанса (companyId, назначенные пользователю) в модели. Я использую ember-cli и ember 0.13.1 с ember-simple-auth. Допустим, у меня есть маршрут под названием user/profile, когда я хочу показать информацию о компании, которой назначен пользователь. Для этого мне нужно получить companyId, который назначен пользователю из сеанса и сделать вызов с моделью в мой API. В настоящее время маршрут для пользователя/профиль выглядит следующим образом:Модель Ember с данными сеанса
import Ember from 'ember';
import AuthenticatedRouteMixin from 'simple-auth/mixins/authenticated-route-mixin';
export default Ember.Route.extend(AuthenticatedRouteMixin, {
model: function() {
return Ember.RSVP.hash({
industries: this.store.findAll('industry'),
industryroles: this.store.findAll('industryrole'),
company: this.store.find('company',this.session.get('user.companyId'))
});
},
setupController: function(controller, model) {
controller.set('industries', model.industries);
controller.set('industryroles', model.industryroles);
controller.set('company', model.company);
}
});
Все работает, когда вы идете на этот маршрут из другого маршрута, но когда вы находитесь в пользовательском маршруте/профиля и нажатии клавиши F5 затем this.session.get ('user.companyId') не определено.
Есть ли у кого-нибудь идеи, как я могу решить эту проблему?
С наилучшими пожеланиями Pawel
Если пользователь может получить доступ к своей компании, вы можете решить эту проблему на бэкэнд: определить, какой пользователь запрашивает информацию и вернуть свою компанию. –
Спасибо за ваш ответ, но я не хочу делать это в своем бэкэнде, потому что я использую тот же запрос и в других маршрутах. Мне интересно, должен ли я вводить сеанс в модель, но я нашел в простом форуме, что это не предлагается. Другое дело, что я регистрирую пользователя с обещанием, а это означает, что модели из маршрута пользователя/профиля будут выполняться после того, как это обещание будет разрешено. – owenek1