【问题标题】:Ember Data 1.0.0: this.modelFor('author').save fails - how to save a newly created record in the controller?Ember Data 1.0.0:this.modelFor('author').save 失败 - 如何在控制器中保存新创建的记录?
【发布时间】:2013-09-04 20:35:15
【问题描述】:

我正在从 EMber 数据 0.13 迁移到 1.0.0 beta。根据文档 (https://github.com/emberjs/data/blob/master/TRANSITION.md),以下应该可以工作:

App.AuthorsNewRoute = Ember.Route.extend({

  model: function () {
    return this.store.createRecord('author');
  },

  actions: {
    save: function() {
      this.modelFor('author').save();
    }
  }
})

但是,就我而言,我总是收到“无法调用未定义的方法‘保存’错误”。

当使用“this.get('currentModel').save();”时,它在使用路由中的保存操作时有效。将保存操作放入控制器时,它不再起作用。同样的错误:无法调用未定义的方法“保存”错误。

如何访问控制器中新创建的记录并保存?

谁能提供一个简单的例子?

谢谢 马克

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    您有权在路线中使用它:

    this.get('currentModel').save();

    在控制器中你应该使用:

    this.get('model').save();

    【讨论】:

    • 不错,公关作者本人 :)
    • 谢谢。确实,这行得通。因此文档部分错误(github.com/emberjs/data/blob/master/TRANSITION.md)。现在到错误处理;替换 becomeError, becomeInvalid.
    • 嗨 Tchak,这是什么。get('currentModel')。请解释一下。请提供任何工作示例
    猜你喜欢
    • 1970-01-01
    • 2013-03-09
    • 1970-01-01
    • 2012-07-22
    • 1970-01-01
    • 1970-01-01
    • 2013-09-09
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多