6

从 ember 文档中可以清楚地看到,您应该能够保存脏模型

var m = App.MyModel.find(10) ;
...
m.set("firstName", "John") ;
m.get("isDirty") ; // --> true

现在,我不知道如何保存,比如

m.save() ;
App.MyModel.save(m) ;
//etc

不工作。有什么建议么 ?

干杯

4

2 回答 2

51

自 Ember Data 1.0(撰写本文时为测试版)发布以来,已接受的答案不再有效。使用 Ember Data (1.0) 可以更轻松、更直观地进行保存。

var person = this.store.createRecord('person');
person.set('frist_name', 'John');
person.set('last_name', 'Doe');
person.save();

知道save调用返回一个 promise 也是一件好事,当服务器返回响应时它会被解析。

person.save().then(function() {
  // SUCCESS
}, function() {
  // FAILURE
});
于 2013-09-06T14:03:11.687 回答
1

编辑:这与 Ember Data 1.0 beta 及更高版本已过时,请参阅 Bart 的回答

如果您使用的是 Ember-Data,则需要调用commit()模型的事务。

m.get('transaction').commit()

或者如果您想保存应用程序中的每个脏对象

m.get('store').commit()
于 2013-01-22T10:54:36.633 回答