在 jsfiddle 中,我有 EmBlog.PostsNewRoute 和 EmBlog.PostsEditRoute 。路线包含“保存,取消和销毁”的事件。
当我创建一个新记录时,它只在内存中创建并且从不调用store.commit(),并且在控制台中,它会抛出错误:
未捕获的TypeError:无法调用未定义的方法'commit'
当我尝试编辑时,它会引发相同的错误,但编辑仍然只在内存中发生。
销毁行动也失败了。
当我打电话取消时,我得到:
无法读取未定义的属性'defaultTransaction'
大多数代码都在 jsfiddle 中。保存和取消事件遵循 Yehuda here :
所描述的模式 App.NewUserRoute = Ember.Route.extend({
model: function() {
return App.User.createRecord();
},
events: {
save: function(user) {
this.get('store').commit();
}
}
});
由于
答案 0 :(得分:5)
更新了fiddle!它现在正在创建,编辑和销毁用例。有关我更改内容的详细信息,请参阅下文...
当我创建一个新记录时,它只在内存中创建并且从不调用store.commit(),并且在控制台中,它会抛出错误:Uncaught TypeError:无法调用未定义的方法'commit'
原始PostNewRoute
失败,因为this.store未定义。 <{1}}也未定义。
this.content
更新版本调用提交帖子的事务。还可以在创建记录后使用post.one回调进行转换。
save: function(post) {
this.store.commit();
this.content.addObserver('id', this, 'afterSave');
},
稍后会更新有关其他更新的详细信息......
当我尝试编辑时,它会引发相同的错误,但编辑仍然只在内存中发生。
销毁行动也失败了。
当我调用cancel时,我得到:无法读取undefined
的属性'defaultTransaction'