当我save
User
时,所有当前的脏Users
都已提交。我必须更改save
仅提交特定User
的交易吗?
app.js
App = Ember.Application.create();
App.Store = DS.Store.extend({
revision: 12,
adapter: 'DS.FixtureAdapter'
})
App.Router.map(function() {
this.resource('users', function() {
this.resource('user', { path: ':user_id' })
})
});
App.UsersRoute = Ember.Route.extend({
model: function() {
return App.User.find();
}
});
App.UserController = Ember.ObjectController.extend({
startEditing: function() {
this.transaction = this.get('store').transaction();
this.transaction.add(this.get('content'));
},
save: function( user ) {
user.transaction.commit();
}
})
App.User = DS.Model.extend({
lastName: DS.attr('string')
})
App.User.FIXTURES = [{
id: 1,
lastName: "Clinton"
}, {
id: 2,
lastName: "Obama"
}]
答案 0 :(得分:0)
我的猜测是永远不会调用startEditing
,否则这可能没问题。
另一个选项是您保存多次记录。保存记录后,会将其移回商店的默认事务。对save
的任何后续调用实际上都会提交商店的交易。