Ember 数据:无法从模板访问模型数据

Ember Data: Can't access model data from template

所以这几天我一直在苦苦思索。我根本无法让我的模型数据在模板中呈现。没有抛出任何错误,当我在模板中插入 {{model}}{{controller}} 时,我得到了对 DS 和 Ember 对象、<DS.RecordArray:ember411> 和 [=14] 的引用=], 分别.

在 Ember 检查器中查看,“数据”选项卡显示我按族加载的记录,如果我单击对象引用并进入 members/posts 字段,它会加载 members/posts 也...所以检查员至少似乎正确地获取了数据,但模板没有。非常感谢任何帮助。

js/routes/family.js.coffee App.FamilyRoute = Ember.Route.extend model: -> @store.find 'family'

js/templates/family.hbs <img {{bind-attr src=img}} alt="Profile"> <h1>{{name}} Family</h1> <p>{{description}}</p> {{families}} {{controller}}

js/controllers/family.js.coffee App.FamilyController = Ember.ObjectController.extend({})

js/models/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}) json 来自 API { "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

this.store.find@store.find 在 coffeescript 案例中 returns all 商店中的模型。因此,默认情况下,您会为您的模型 返回一个列表。看起来该列表中将有一个家庭。

如果你想在列表中显示它,你可以使用{{#each family in families}}{{family.name}}{{/each}}

要在您的 FamilyRoute 中仅获取某个 ID,您可以使用 @store.find('family', id)。所以一个例子是 @store.find('family', 2)。这会达到不同的终点。

如果你想return第一个结果,你可以使用findreturns:

的promise

@store.find('family').then (family) -> family.get('firstObject')