对于使用LSA的本地存储适配器,我现在想更新模型中 id 为“ab12”的模型,但我不知道如何操作。我的模型是:
OlapApp.AxisModel = DS.Model.extend({
uniqueName: DS.attr('string'),
name: DS.attr('string'),
hierarchyUniqueName: DS.attr('string'),
type: DS.attr('string'),//row,column,filter
isMeasure: DS.attr('boolean'),
isActive:DS.attr('boolean'), //is added to one of type
orderId: DS.attr('number')
});
我的控制器我正在尝试:
this.get('store').updateRecord('axisModel',{
id:item.get('id'),
orderId:index
});
但我得到一个错误:
Uncaught TypeError: Object [object Object] has no method 'updateRecord'
我需要更新模型中的 orderId。如果我使用 commit() 我得到一个错误:
updateSortOrder: function(indexes) {
var store = this.get('store');
this.get('getRowItem').forEach(function(item) {
var index = indexes[item.get('id')];
if($.isEmptyObject(indexes)) index=0;
item.set('orderId', index);
store.commit();
}, this);
},
错误是:
Uncaught TypeError: Object [object Object] has no method 'commit'
这是getRowItem
:
getRowItem: function(controller, model) {
return this.get('model').filterProperty('type', 'row');
}.property('model.@each.type'),