我对Ember很新,我正在努力解决这个问题。
我有一个模型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}}
这可以按预期工作,迭代Huddles的集合。
但是,如果我在list.hbs.erb
或grid.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 :(得分:0)
根据错误消息,您应该有一个名为HuddlesGridController
的控制器,它扩展了Em.ArrayController
。每条路线都有自己的控制器,视图和模板。这意味着HuddlesController
在资源路由中使用(我假设为HuddlesRoute
),但你是一个子路由(HuddlesRoute
我也在假设)。