从ember docs中可以清楚地知道你应该能够保存一个肮脏的模型
var m = App.MyModel.find(10) ;
...
m.set("firstName", "John") ;
m.get("isDirty") ; // --> true
现在,我不知道如何保存,比如
m.save() ;
App.MyModel.save(m) ;
//etc
不行。有什么建议吗?
干杯
答案 0 :(得分: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
});
答案 1 :(得分:1)
编辑:现在已经过时了Ember Data 1.0 beta及以后,请参考Bart的回答
如果您使用的是Ember-Data,则需要在模型的交易中调用commit()
。
m.get('transaction').commit()
或者如果您想保存应用中的每个脏对象
m.get('store').commit()