ember-simple-auth 更新会话中的数据
ember-simple-auth update data in session
我有以下代码:
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 简单身份验证会话中保留一个我想在此方法中更新的用户对象。
在会话中调用 persist 并不能解决问题。
我也试过:
_this.session.store.set('user.username', _this.get('newUsername'));
_this.session.store.save();
也没有用。
如何更新会话中的用户对象?
假设您已使用用户方法扩展或重新打开简单的身份验证会话,并在 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 }}
我有以下代码:
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 简单身份验证会话中保留一个我想在此方法中更新的用户对象。
在会话中调用 persist 并不能解决问题。
我也试过:
_this.session.store.set('user.username', _this.get('newUsername'));
_this.session.store.save();
也没有用。
如何更新会话中的用户对象?
假设您已使用用户方法扩展或重新打开简单的身份验证会话,并在 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 }}