如何在ember-data模型中设置关系的值

时间:2013-09-10 09:47:53

标签: ember.js ember-data

我有一个ember-data(1.0.0.beta2)应用程序,其中模型(A)有几个'belongsTo'关系(有B,C和D)。

现有的a显示在一个模板中,该模板还包含一个用于创建新A的按钮。当用户单击此按钮时,将创建一个新的A实例,然后还会创建B,C,D的实例,并且然后他们联系在一起。

我的控制器代码是这样的:

var a = this.get('store').createRecord(A, {});
var b = this.get('store').createRecord(A, {});
var c = this.get('store').createRecord(A, {});
var d = this.get('store').createRecord(A, {});
a.save().then(function(a_) {
  b.save().then(function(b_) {
    a_.set('b', b_);
    b_.set('a', a_);
    a_.save();
    b_.save();
    ...
  });    
});

问题是:当创建'a'时,显示存在列表的模板会被更新。但是,此列表使用来自参数“b”(类型B)的信息。但是当通过将a链接到对象b来更新a时,列表不会更新。因此,列表显示的信息不完整。

如果我重新加载页面,或转到其他路线并返回列表,则会正确显示。

有人可以告诉我我做错了吗?

1 个答案:

答案 0 :(得分:1)

我认为此PR解决了这个问题:https://github.com/emberjs/data/pull/1257