【问题标题】:How to save changes to Ember.js model without breaking its relationships如何在不破坏其关系的情况下保存对 Ember.js 模型的更改
【发布时间】:2013-09-13 17:43:47
【问题描述】:

我正在使用最新版本的 Ember-data (v1.0.0-beta.2) 我在更新 Ember.JS 模型时遇到问题。我将这个案例简化为最简单的模型

App.Post = DS.Model.extend({
  subject: DS.attr('string'),
  author: DS.belongsTo('user')
});

App.User = DS.Model.extend({
  name: DS.attr('string'),
  msg: DS.attr('string')
});

我使用 .save() 方法保存它,它成功地解决了承诺。我添加了一些日志来显示问题

App.IndexController = Ember.ObjectController.extend({
  actions: {
    save: function() {
      console.log("Author name before: " + this.get("model").get("author").get("name"));
      this.get("model").save().then(function(m) {
        console.log("Author object after: " + m.get("author"));
        console.log("Author name after: " + m.get("author").get("name"));
      });
    }
  }
});

保存后,作者属性变成了一个数字 1,而不是一个对象。

服务器返回的 JSON 总是相同的。为了能够在 JSbin 上演示这一点,我必须覆盖 DS.RESTAdapter.ajax。

http://jsbin.com/EWUSEkA/3/edit?html,js,output

问题是:保存对象后如何让Ember sideload或者通过其他方式解析对象关系?

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    这是 beta 2 的一个已知问题。错误报告有一些建议的解决方法。

    https://github.com/emberjs/data/issues/1228

    希望它会在 beta 3 中得到修复。

    【讨论】:

      猜你喜欢
      • 2011-03-06
      • 2010-12-21
      • 1970-01-01
      • 1970-01-01
      • 2019-02-28
      • 1970-01-01
      • 2014-09-15
      • 1970-01-01
      • 2016-03-09
      相关资源
      最近更新 更多