0

我正在使用最新版本的 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,输出

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

4

1 回答 1

0

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

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

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

于 2013-09-14T05:11:32.620 回答