Ember.js pushPayload无法更新先前设置的模型的属性

Ember.js pushPayload无法更新先前设置的模型的属性,ember.js,ember-data,Ember.js,Ember Data,如下所示,用户拥有serviceinfo,属于userService类型: User = DS.Model.extend({ serviceinfo: belongsTo('userService', {async: true}) }); UserService = DS.Model.extend({ online: attr('number', {defaultValue: 0}) }); 应用程序启动时,id为“1”的用户的联机设置为1: self.get('store')

如下所示,用户拥有serviceinfo,属于userService类型:

User = DS.Model.extend({
    serviceinfo: belongsTo('userService', {async: true})
});

UserService = DS.Model.extend({
   online: attr('number', {defaultValue: 0})
});
应用程序启动时,id为“1”的用户的联机设置为1:

self.get('store').find('user', '1').then(function(user){
     user.get('serviceinfo').then(function(serviceinfo){
          serviceinfo.set('online', 1);
    });
}); 
一段时间后,当接收到包含userService数据(id为“1”,online为2)的消息时,调用pushPayload:

self.get('store').pushPayload('userService', {userService: msg});
但州政府在这之后通过:

self.get('store').getById('user', '1').get('serviceinfo.online');
仍然是“1”,也就是说,如果先调用“set”,pushPayload不能更改userService模型中的联机属性


问题是什么?

因此
pushPayload
不会覆盖脏属性

要解决此问题,请单击记录上的
rollbackAttributes


PS感谢@bmac。

也遇到了这个问题。你解决了吗?