为什么不将hasMany关系用于绑定到商店中的更改的ArrayController模型?

时间:2014-12-04 19:49:48

标签: ember.js ember-data

如果我在ArrayController中定义Ember.Route的模型,就像这样......

  model: function() {
    return this.modelFor('customer').get('memberInvitation');
  },

...然后当我使用createRecordsave创建记录时,模型不会在视图中显示新对象。

但是,当我通过过滤商店中的记录来设置模型时:

model: function() {
  var customer = this.modelFor('customer');
  var memberInvitationIds = customer.get('memberInvitations').mapBy('id');
  var idsParam = memberInvitationIds.join(',');
  return this.store.filter('member-invitation', {ids: idsParam}, function(memberInvitation) {
    return !memberInvitation.get('isNew');
  });
},

...然后它会更新视图。

使用hasMany关系有没有正确的方法?如果没有,那么正确的方法是什么?

1 个答案:

答案 0 :(得分:0)

使用这种关系应该可以正常工作。这就是为什么它不是。

关系是多态的,父类没有hasMany关系,所以当创建memberInvitationhasMany上的customer关系没有&#39实现它。

因此,如果对关系的绑定似乎被破坏,请检查反面以确保一切正常(特别是如果您有多态关系)。