# routes/application.js.coffee
########################################
App.ApplicationRoute = Ember.Route.extend
model: ->
@store.findAll('category').then (records) ->
{
categories: records
}
# routes/categories.js.coffee
########################################
App.CategoriesRoute = Ember.Route.extend
model: ->
@store.find 'category'
# routes/category.js.coffee
########################################
App.CategoryRoute = Ember.Route.extend
model: (params) ->
serialize: (model, params) ->
id: model.get('slug')
# templates/application.hbs
########################################
{{ partial 'categories' }}
<p>---</p>
{{ outlet }}
# templates/categories.hbs
########################################
<h1>Categories...</h1>
{{#each category in categories}}
{{#link-to 'category' category}}
{{category.title}}
{{/link-to}}
{{/each}}
# templates/category.hbs
########################################
<h2>{{title}}</h2>
<h3>{{description}}</h3>
# router.js.coffee
########################################
App.Router.map ->
@resource 'categories', path: 'categories'
@resource 'category', path: 'category/:slug'
# store.js.coffee
########################################
App.ApplicationAdapter = DS.ActiveModelAdapter.extend
namespace: 'api/v1'
我在应用程序路径上加载类别,因此数据可用于通过类别部分呈现站点范围的导航。
根据Ember控制台,模型被成功获取并存储。如果它有任何区别,则会对一对多数据进行侧载,称为Sections,它也会成功存储。
类别partial按预期呈现,并带有指向每个部分的链接。单击它们将生成标题和描述的呈现。
刷新应用程序,例如/#/ category / title-1,不会呈现类别视图(标题和描述)。但是,单击类别partial中生成的链接将呈现视图。
我对页面加载的期望是渲染类别视图,而无需单击类别链接。我做错了什么?
答案 0 :(得分:0)
在玩了很长时间的应用程序之后,我找到了解决问题的方法。
使用Ember控制台时,我看到Category视图的模型被引用到[Object object]而不是App.Category。我不得不指定商店来搜索slug。因此,代码看起来像这样
# routes/category.js.coffee
########################################
App.CategoryRoute = Ember.Route.extend
model: (params) ->
serialize: (model, params) ->
id: model.get('slug')
@store.find('category', params.slug)
视图现在在页面加载时呈现。