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

时间:2015-01-21 23:22:25

标签: ruby-on-rails ember.js coffeescript ember-data handlebars.js

所以我几天来一直在打击我的脑袋。我根本无法在模板中渲染我的模型数据。没有错误被抛出,当我在模板中插入{{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

1 个答案:

答案 0 :(得分:1)

coffeescript案例中的

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')