2013-04-24 62 views
0

我是Ember的新手,我正在努力解决这个问题。Ember.js访问出口模板内的父控制器

我有一个型号,Huddle,以及相关的控制器,HuddlesController。有一个模板huddles.hbs.erb,其中包含一个{{outlet}}。在templates/huddles/下有两个文件,grid.hbs.erb和list.hbs.erb。这些在huddles.hbs.erb中呈现出口。

现在内huddles.hbs.erb,我可以用一个看起来像这样每块:

{{#each huddle in controller}} 
    {{huddle.name}} 
{{/each}} 

这正常工作,遍历闲聊的集合。

但是,如果我叫内list.hbs.erbgrid.hbs.erb相同的代码,我得到以下错误:

Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated huddles.grid controller):ember405> 

看来,我不再在正确的范围内!我如何访问父控制器中的集合(HuddlesController,其范围从Ember.ArrayController)?

在此先感谢!

回答

0

根据错误消息,您应该有一个名为HuddlesGridController的控制器,该控制器扩展为Em.ArrayController。每条路线都有自己的控制器,视图和模板。这意味着HuddlesController用于资源路由(我假设为HuddlesRoute),但是您是子路由(我也假设为HuddlesRoute)。