【发布时间】:2014-12-16 21:06:13
【问题描述】:
关于这个问题最后一部分的解决方案。
六个小时后...我无法删除 ember-data 对象而不会出错。 我已经关注了启动器video-tutorial。 对于删除,ember-docs 建议执行以下步骤:
post.deleteRecord();
post.get('isDeleted');
post.store.save();
我的适配器设置:App.ApplicationAdapter = DS.FixtureAdapter;
App.ApplicationRoute = Ember.Route.extend({
model: function () {
this.store.find('post', 1).then(function (post) {
// success
console.log(post.get('title'));
post.deleteRecord();
post.get('isDeleted');
post.store.save(); <--------- ERROR, same with post.save()
// App.store.commit();
}, function (error) {
// error handling
console.log(error);
});
EmberJS 抱怨:Uncaught TypeError: undefined is not a function 我尝试了一些修改:
post.deleteRecord();
post.get('isDeleted');
App.store.commit();
和:
post.destroyRecord();
我更改了 EmberJS、Ember-Data 和 HandleBars 版本,并在 cdn 和 grunt 之间切换。我当前的版本是(bower.json):
"ember": "1.9.0",
"handlebars": "2.0.0",
"ember-data": "1.0.0-beta.8",
postmodel 和 postfixtures 如下所示:
App.Post = DS.Model.extend({
titel : DS.attr('string'),
bericht: DS.attr('string')
});
App.Post.FIXTURES = [
{ id: 1, titel: 'titel 1', bericht: 'bericht 1' ,},
{ id: 2, titel: 'titel 2', bericht: 'bericht 2' },
{ id: 3, titel: 'titel 3', bericht: 'bericht 3' }
];
更新 1
堆栈跟踪
Uncaught TypeError: undefined is not a function ember.prod.js:15469
(anonymous function) ember.prod.js:10127
Cache.get ember.prod.js:15509
isPath ember.prod.js:16307
get bower_components.js:8 Ember.Object.extend.serializeAttribute bower_components.js:8
(anonymous function) bower_components.js:9
(anonymous function) ember.prod.js:14209
Map.forEach.cb ember.prod.js:14007
OrderedSet.forEach ember.prod.js:14217
Map.forEach bower_components.js:9
g.reopenClass.eachAttribute bower_components.js:9
g.reopen.eachAttribute bower_components.js:8
Ember.Object.extend.serialize bower_components.js:8
g.extend.mockJSON bower_components.js:8
g.extend.deleteRecord bower_components.js:9
v bower_components.js:10
(anonymous function) ember.prod.js:12273
forEach bower_components.js:10 Ember.Object.extend.flushPendingSave ember.prod.js:854
Queue.invoke ember.prod.js:919
Queue.flush ember.prod.js:724
DeferredActionQueues.flush ember.prod.js:149
Backburner.end ember.prod.js:204
Backburner.runember. prod.js:586
executeTimersember. prod.js:575
(anonymous function) ember.prod.js:575
更新 2
我做了一个小提琴,here
解决方案 3
可能,问题是由版本地狱引起的。我已将 ember-data 1.0.0-beta.8 更改为 ember-data 1.0.0-beta.12 。我在 Fiddle 上做了一个工作示例:here
【问题讨论】:
-
您可能正在观看一个过时的视频。例如,
commit现在不再使用。 -
好的,感谢您的帮助。现在可以使用 ember-data 1.0.0-beta.12
标签: ember.js ember-data