这已被多次询问,但没有任何对我有用。
App.CatalogAddRoute = Ember.Route.extend({
// other stuff ...
actions: {
save: function() {
this.get('store').createRecord('category', {
category_id: 4,
category_name_fr_sh: "wat"
//... other properties
});
this.get('store').commit();
this.get('target.router').transitionTo('catalog.index');
}
}
});
我可以在我的Ember工具栏中看到我的createRecord确实有效。还有一个类别添加到我的控制器中。但是commit()总是会抛出同样的错误:
Object [object Object] has no method 'commit'
任何人都有可能出错的提示?
答案 0 :(得分:3)
您在模型上调用保存而不是商店提交,您可能正在查看旧文档或ED的不同版本的文档,而不是您正在使用的文档,请参阅https://github.com/emberjs/data/blob/master/TRANSITION.md他们进入1.0测试版发布时所做的更改
actions: {
save: function() {
var record = this.get('store').createRecord('category', {
category_id: 4,
category_name_fr_sh: "wat"
//... other properties
});
record.save();
this.get('target.router').transitionTo('catalog.index');
}
}