Я хочу, чтобы сделать шаблон с помощником рендеринга. страница принять ошибку:Ошибка: содержимое Ember.CollectionView должно внедрять Ember.Array.
an Ember.CollectionView's content must implement Ember.Array
http://jsbin.com/ikituj/62/edit
Я хочу, чтобы сделать шаблон с помощником рендеринга. страница принять ошибку:Ошибка: содержимое Ember.CollectionView должно внедрять Ember.Array.
an Ember.CollectionView's content must implement Ember.Array
http://jsbin.com/ikituj/62/edit
рендер Helper
Во-первых, незначительные изменения. Когда вы звоните {{render "blogcategory" App.BlogCategory}}
, вы должны (необязательно) передать экземпляр модели BlogCategory в качестве второго параметра в render
, а не класс. Подробнее о render helper
Погрешность
Таким образом, изменяя эту строку в {{render "blogcategory"}}
, мы все еще получаю ошибку:
Uncaught Error: assertion failed: an Ember.CollectionView's content must implement Ember.Array. You passed <(generated blogcategory controller):ember326>
Почему это происходит?
Это потому, что Ember не набирает ваш BlogCategoryController. Посмотрите, как ошибка говорит, что вы проходите в (generated blogcategory controller)
? Это означает, что у Ember был автоматически сгенерирован контроллер - неBlogCategoryController
, который вы определили (который расширяет ArrayController
и делает орудие Ember.Array
).
Когда вы звоните {{render 'blogcategory'}}
в шаблон вашего блога, по соглашению, Ember ищет вид с именем Blogcategory
и контроллер с именем BlogcategoryController
. Обратите внимание на капитализацию - Ember не знает, когда использовать ваши классы для вас! Поскольку он также не может найти, он автоматически генерирует объект ObjectController, а затем он жалуется, когда вы пытаетесь перебрать его с помощью {{#each}}
в шаблоне блогов.
Исправление
Решения либо изменить рендеринг вызова или ваше имя контроллера, чтобы они соответствуют. Я пошел с изменением вызова на render
, потому что ваше имя контроллера (BlogCategoryController) уже соответствует соглашению.
{{render 'blogcategory'}}
к {{render 'blogCategory'}}
blogcategory
шаблоне id=blogCategory
.Смотрите здесь: http://jsbin.com/ikituj/66/edit
хорошо, спасибо. но, почему я получаю данные из blogcategory, является нулевым. – fung
Извините, не могли бы вы прояснить свой вопрос? –
при вызове {{render 'blogcategory'}}, шаблон blogcategory - null, где находится точка blogcategory.model. http://jsbin.com/ikituj/76/edit – fung