2013-04-24 40 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)。