我正在处理的应用程序有一个像这样的事件模型
App.Event = DS.Model.extend({
title: DS.attr('string'),
...
tests: DS.hasMany('App.Test')
});
现在我有一个EventController
来使用this.set('content', App.Event.createRecord());
this.get('model').save();
创建并保存新记录
只保存title属性可以正常工作,但现在我也希望能够通过模态对话框保存hasMany关系(例如test)。
我通过{{outlet modal}}
加上控制器创建该对话框,类似于stackoverflow上的一些答案。所以我似乎能够使用ObjectController
和
App.TestController = Em.ObjectController.extend({
needs: ['event'],
init: function(){
var event = this.get('controllers.event').get('content')
this.set('content', event.get('test').createRecord());
}
});
说实话,我还没有测试过完整的代码,如果它甚至可以工作,但它似乎就是这样。因此模板有一个相应的表单来填写详细信息。现在我想要的是后面的ArrayController
和模板中的一个按钮'再添加一个',然后将另一个记录推送到测试模型中,模板会自动添加第二个表单以下模板代码:
{{#each controller}}
...form...
{{/each}}
如果您需要查看更多我的实施,请查看我昨天发布的这个问题: Create and display EmberData models on same route/resource 希望你能理解这个问题,如果不是,我很乐意澄清。