Ember.js: how to save a model

2019-06-18 23:10发布

From the ember docs its clear you should be able to save a dirty model

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

Now, I don't know how to save, things like

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

do not work. Any suggestions ?

CHeers

2条回答
ら.Afraid
2楼-- · 2019-06-18 23:43

The accepted answer is no longer valid since the release of Ember Data 1.0 (beta at the time of writing). Saving is much easier and more intuitive with Ember Data (1.0).

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

It is also good to know that a save call returns a promise, which is resolved when the server returns a response.

person.save().then(function() {
  // SUCCESS
}, function() {
  // FAILURE
});
查看更多
我欲成王,谁敢阻挡
3楼-- · 2019-06-18 23:45

EDIT: This is now out of date with Ember Data 1.0 beta and onwards, please refer to Bart's answer

If you are using Ember-Data, you need to call commit() on the model's transaction.

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

or if you want to save every dirty object in your app

m.get('store').commit()
查看更多
登录 后发表回答