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}}ここのスタックオーバーフローに関するいくつかの回答と同様に、プラスに応じたコントローラーを介してそのダイアログを作成しています。そのため、モーダルをObjectControllerand で動作させることができるようです

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、後ろにあるテンプレートの「もう1つ追加」ボタンで、別のレコードをテストモデルにプッシュし、テンプレートは次のテンプレートコードを介して2番目のフォームを自動的に追加します:

{{#each controller}}
    ...form...
{{/each}}

私の実装をもっと見る必要がある場合は、昨日投稿したこの質問をチェックしてください: 同じルート/リソースで EmberData モデルを作成して表示 する 質問を理解していただければ幸いです。

4

0 に答える 0