1

我正在开发的应用程序有一个像这样的事件模型

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(); 只需保存标题属性即可,但现在我还希望能够通过模式对话框保存 hasMany-relationships(例如测试)。我正在通过{{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}}

如果您需要查看我的更多实施,请查看我昨天发布的这个问题: 在同一路线/资源上创建和显示 EmberData 模型 希望您理解这个问题,如果不是,我很乐意澄清。

4

0 回答 0