gpt4 book ai didi

ember.js - 无法使用 ember-data 保存/更新记录

转载 作者:行者123 更新时间:2023-12-02 06:04:47 24 4
gpt4 key购买 nike

我的路由器定义了以下内容:

this.resource('uoms', { path: '/uoms' }, function() {
this.route('new');
});

uoms路由定义为:
App.UomsRoute = Ember.Route.extend({
model: function() {
return this.store.find('uom');
},

actions: {
save: function() {
this.modelFor('uoms').save().then(function() {
console.log("saved UOMs");
});
}
}
});

但是由于某种原因,当我尝试保存它时,我得到:

Uncaught TypeError: Object [object Object] has no method 'save'



有人可以帮我确定我做错了什么吗?

---- 更新 ----

我还从 Controller 尝试了以下操作,但结果相同:
App.UomsController = Ember.ArrayController.extend({
actions: {
save: function() {
this.get('model').save().then(function() {
console.log("saved UOMs");
});
}
}
});

---- 更新 2 ----

查看 this.get('model') 返回的对象调用我们得到以下信息:

最佳答案

这就是我会做的:

  • 使用 Chrome 开发者工具在您尝试保存模型的行设置断点
  • 要检查 Controller 持有的模型,请输入 this.get('model') Chrome 开发者工具控制台。

  • 检查控制台输出是否真的符合您的预期。很可能它不是您要保存的模型实例。你会看到,当你执行 this.get('model').save() 时,你会得到同样的错误。在控制台中。

    顺便说一句:你为​​什么使用 ArrayController而不是 ObjectController .看起来您将它用于单个模型。见 docs有关更多详细信息。

    编辑:

    试试 this.get('model').get('transaction').commit()

    关于ember.js - 无法使用 ember-data 保存/更新记录,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19001355/

    24 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com