Ember.js 如何访问hasMany的子控制器

Ember.js 如何访问hasMany的子控制器,ember.js,ember-data,Ember.js,Ember Data,我想在父视图中的子元素的ArrayController上触发一个操作。我该怎么做呢 具体来说,我正在尝试向hasMany关系添加一个新的子元素。在子元素的视图中使用{action new}}可以很好地工作,但我不确定如何从父视图中执行此操作 <script type="text/x-handlebars" data-template-name="parents"> <b>List</b><br /> {{#each parent i

我想在父视图中的子元素的ArrayController上触发一个操作。我该怎么做呢

具体来说,我正在尝试向hasMany关系添加一个新的子元素。在子元素的视图中使用{action new}}可以很好地工作,但我不确定如何从父视图中执行此操作

<script type="text/x-handlebars" data-template-name="parents">
    <b>List</b><br />
    {{#each parent in controller}}
        {{ parent.name }} <br />    
        {{ render "kids" parent.children }}
    <a href="#" {{ action parent.children.new target="controller" }}>Parent View Make Kid</a<br/>
    <br />
    {{/each}}
</script>

<script type="text/x-handlebars" data-template-name="kids">
    {{#each kid in controller}}
        > {{ kid.name }} <br />
    {{/each}}
    <a href="#" {{ action new }}> Kid Controller Make Kid</a><br />
</script>

列表
{{{#控制器中的每个父级} {{parent.name}}
{{呈现“childs”parent.children}
在上面的“孩子控制器使孩子”可以正常工作,“家长控制器使孩子”不能正常工作

请在此处找到一把小提琴来说明问题:


谢谢

从家长的角度来看,您不能像那样直接访问孩子的控制器。我认为最好的选择是在
parentscoontroller
上实现一个
newKid
方法,负责在其模型上创建新记录

我为您提供了一个工作示例:


希望这有帮助

哇,这太简单了。谢谢!不客气,很乐意帮忙!是的,余烬有时看起来很复杂,但大多数时候,有一个简单、优雅的解决方案,就在你的脸上;)