答案 0 :(得分:1)
渲染助手
首先,一个小的改变。当您致电{{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
而 实现{{1} }})。
按照约定在博客模板中调用Ember.Array
时,Ember会查找名为{{render 'blogcategory'}}
的视图和名为Blogcategory
的控制器。请注意大写 - Ember不知道何时为您的课程资本化!因为它找不到它,它会自动生成一个ObjectController,然后当你尝试在blogcategory模板中使用BlogcategoryController
进行迭代时它就会抱怨。
修复
解决方案是更改渲染调用或控制器名称以使它们匹配。我将调用更改为{{#each}}
,因为您的控制器名称(BlogCategoryController)已遵循约定。
render
更改为{{render 'blogcategory'}}
{{render 'blogCategory'}}
模板上的ID更改为blogcategory
。