ember.js - Ember 数据未加载属于使用夹具的关系

标签 ember.js ember-data

我正在开发一个非常基本的 ember 应用程序,但我似乎无法让它显示 belongsto 模型。

我的用户模型:

News.User = DS.Model.extend({
    username: DS.attr('string'),
    items: DS.hasMany('News.Item')
});

News.User.FIXTURES = [
    {
        "id": 1,
        "username": "Bobba_Fett",
        "items": [1,2]
    }]

我的商品型号:

'use strict';

News.Item = DS.Model.extend({
    title: DS.attr('string'),
    url: DS.attr('string'),
    domain: DS.attr('string'),
    points: DS.attr('number'),
    comments: DS.hasMany('News.Comment'),
    user: DS.belongsTo('News.User')
});

News.Item.FIXTURES = [
    {
        "id": 1,
        "title": "This is story 1",
        "url": "http://google.com",
        "domain": "google.com",
        "points": 45,
        "comments": [1,2,3],
        "user_id": 1
    }, 
    {
        "id": 2,
        "title": "This is another story",
        "url": "http://yahoo.com",
        "domain": "yahoo.com",
        "points": 30,
        "comments": [1,2,3],
        "user_id": 1
    }
]

我的 html (问题是用户名没有显示,它只是空白),其他一切都显示正常:

<script type="text/x-handlebars" data-template-name="items">
        <div class="row">
            <ul>
                {{#each itemList}}
                    <a href="upvote">&#x25B2;</a><a {{bindAttr href="url"}}>{{title}}</a> ({{domain}})<br />
            <small>{{points}} Ups -- submitted by {{user.username}}</small><br />
                {{/each}}
            </ul>
        </script>

最佳答案

问题出在 News.Item.FIXTURES 声明中,"user_id" 应该命名为 "user",因为那是Model 定义中关系属性的名称。

这应该可行:

News.Item.FIXTURES = [
    {
        id: 1,
        title: "This is story 1",
        url: "http://google.com",
        domain: "google.com",
        points: 45,
        comment": [1,2,3],
        user: 1
    }, 
    {
        id: 2,
        title: "This is another story",
        url: "http://yahoo.com",
        domain: "yahoo.com",
        points: 30,
        comments: [1,2,3],
        user: 1
    }
];

编辑:我不知道你是否还在研究这个,但这里是你的代码的一个工作 fiddle ,请注意我必须添加一个空模型 News.Comments = DS.Model.extend ({}); 让它工作:

http://jsfiddle.net/Mftye/1/

希望这有帮助!

关于ember.js - Ember 数据未加载属于使用夹具的关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16006923/

相关文章:

ember.js - Ember Simple Auth - session 无效时注销

javascript - 交换路线的模型

javascript - Ember Data 不为新实例创建 ID

ember.js - 为什么我需要在成功创建 hasMany 后手动 pushObject?

ruby-on-rails - 如何在客户端(浏览器、iPhone、Android)之间共享代码

javascript - Ember.js 路由映射

javascript - ember 数据序列化程序数据映射

Ember.js数据如何清除数据存储

ember.js - 使用 ember-data 在 Ember.js RC1 中侧载 belongsTo 数据

javascript - Ember.js - 渲染模型的附加数据