ember-simple-auth обновляет данные в сеансе

У меня есть следующий код:

changeUsername: function(){
    var _this = this;
    this.store.findById('user', this.session.get('user.id')).then(function(user){
        user.set('username', _this.get('newUsername'));
        user.save();

        _this.session.set('user.username', _this.get('newUsername'));
        _this.session.persist();
    });
}

Как видите, я сохраняю в сеансе простой аутентификации ember пользовательский объект, который я хочу обновить в этом методе.

Вызов сохранения в сеансе не помогает.

Я также пробовал:

_this.session.store.set('user.username', _this.get('newUsername'));
_this.session.store.save();

Что тоже не сработало.

Как я могу обновить пользовательский объект в сеансе?


person Community    schedule 09.02.2015    source источник


Ответы (1)


Предполагая, что вы расширили или повторно открыли простой сеанс аутентификации с помощью метода пользователя с вычисляемым свойством для userId, ответ будет таким:

  var _this = this;
  if(!Ember.isEmpty(this.get('session.content.userId'))) {
     this.get('session.user').then(function(user){
       user.set('username', _this.get('newUsername'));
       user.save();
     });
  }

и ваш шаблон будет использовать {{ session.user.username }}

person flylib    schedule 10.02.2015