所以我几天来一直在打击我的脑袋。我根本无法在模板中渲染我的模型数据。没有错误被抛出,当我在模板中插入{{model}}
或{{controller}}
时,我分别得到DS和Ember对象<DS.RecordArray:ember411>
和<App.FamilyController:ember438>
的引用
查看Ember Inspector,数据选项卡显示我在家庭中加载的记录,如果我点击进入对象参考,并进入成员/帖子字段,它也会加载成员/帖子...所以检查员至少似乎正确地获取了数据,但模板并没有。任何帮助非常感谢。
JS /路由/ family.js.coffee
App.FamilyRoute = Ember.Route.extend
model: ->
@store.find 'family'
JS /模板/ family.hbs
<img {{bind-attr src=img}} alt="Profile">
<h1>{{name}} Family</h1>
<p>{{description}}</p>
{{families}}
{{controller}}
JS /控制器/ family.js.coffee
App.FamilyController = Ember.ObjectController.extend({})
JS /模型/ family.js.coffee
App.Family = DS.Model.extend
name: DS.attr('string')
description: DS.attr('string')
img: DS.attr('string')
members: DS.hasMany('member', {async: true})
posts: DS.hasMany('post', {async: true})
来自API的 json
{
"families": [{
"id": 2,
"name": "Weebleson",
"description": "Bob, Jill, Jane, John and Spot.",
"img": "/images/weebleson.jpg",
"member_ids": [6, 5, 4],
"post_ids": [61, 62, 63, 64, 65, 66, 67, 68, 69, 70, 71, 72, 73, 74, 75, 76, 77, 78, 79, 80]
}]
}
Ember : 1.8.1
Ember Data : 1.0.0-beta.14.1
Handlebars : 1.0.0
jQuery : 1.11.1
答案 0 :(得分:1)
this.store.find
或@store.find
会返回所有商店中的模型。因此,默认情况下,您的模型列表。看起来该列表中将有一个家庭。
如果要将其显示在列表中,可以使用{{#each family in families}}{{family.name}}{{/each}}
要仅在FamilyRoute
中获取某个ID,您可以使用@store.find('family', id)
。所以一个例子是@store.find('family', 2)
。这会遇到不同的终点。
如果要返回第一个结果,可以使用find
返回的承诺:
@store.find('family').then (family) -> family.get('firstObject')