2013-04-24 3 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.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

오류 메시지 당 HuddlesGridController 컨트롤러는 Em.ArrayController으로 확장되어야합니다. 각 경로에는 자체 제어기,보기 및 템플리트가 있습니다. 즉, HuddlesController이 리소스 경로 (HuddlesRoute 나는 가정하고 있음)에서 사용되지만 아이 경로 (HuddlesRoute 나는 또한 가정합니다)라는 의미입니다.

관련 문제