モデルでセッション データ (ユーザーに割り当てられた companyId) を使用したい場合、ember に問題があります。私は ember-cli と ember 0.13.1 を ember-simple-auth で使用しています。ユーザーが割り当てられている会社に関する情報を表示したいときに、user/profile というルートがあるとします。そのためには、セッションからユーザーに割り当てられた companyId を取得し、モデルを使用して API を呼び出す必要があります。現在、ユーザー/プロファイルのルートは次のようになっています。
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') が未定義になります。
誰かがその問題を解決する方法を知っていますか?
よろしくパヴェル