ember-simple-auth会话中的更新数据

时间:2015-02-09 13:20:40

标签: ember.js 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简单auth会话中坚持要在此方法中更新的用户对象。

在会话中保持呼叫并不能解决问题。

我也尝试过:

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

哪个也没用。

如何在会话中更新用户对象?

1 个答案:

答案 0 :(得分:2)

假设您已经使用userId上带有计算属性的用户方法扩展或重新打开了简单的auth会话,答案就是

  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 }}