我正在尝试使用内置的ember select视图更改belongsTo。但是,当选择框更改时,只更新属于属性,而不是hasMany关系。以下jsbin显示了此行为http://jsbin.com/ewosiy/3/edit。
在此示例中,一个人拥有多个事件,一个事件属于一个人。如果我更改了事件所属的人,则该事件将从原始人员中删除,但从未添加到新人员中。
我可以滚动自己的选择框组件,但只是想知道ember select是否真的没有更新关系的两端。
感谢。
答案 0 :(得分:2)
为了使它工作,你需要在'person'对象的关系中使用'pushObject',你需要做这样的事情:
将您的选择更改为:
{{view Ember.Select
contentBinding=controllers.application.model
optionValuePath=content.id
optionLabelPath=content.fullName
selectionBinding=selectedPerson}}
并在您的eventController中添加:
selectedPersonChanged: function() {
if(this.get('selectedPerson')) {
this.get('selectedPerson.events').pushObject(this.get('content'));
}
}.observes('selectedPerson')