【问题标题】:EmberData belongsTo not working with just IDEmberData 属于不只使用 ID
【发布时间】:2014-04-02 05:06:55
【问题描述】:

我正在尝试创建一个 belongsTo 关系,但我总是收到以下错误:

加载路由时出错:错误:断言失败:您必须包含 传递给 push 的哈希中的 id

我的模型定义如下所示:

GambifyApp.Bet = DS.Model.extend({
    scoreT1: DS.attr('string'),
    scoreT2: DS.attr('string'),
    user: DS.belongsTo('user')
});

在我的 Json 返回中,我有简单的

{
id:128433, 
user:8926, 
points:0, 
game:94, 
scoreT1:2, 
scoreT2:2
}

user下的user值是我的用户id。关于文档(http://emberjs.com/guides/models/the-rest-adapter/#toc_relationships),它应该看起来像这样。但它导致我这个错误。如果我将“用户”属性更改为属性,一切正常。

更新: 在我的序列化程序中发现了提取所有关系并将它们添加为侧载模型的问题。当然,它没有处理这种关系只是整个对象的 id 插入的情况。

【问题讨论】:

    标签: ember.js ember-data


    【解决方案1】:

    如果您不包括与 user 关联的数据,则关系应该是异步的。

    GambifyApp.Bet = DS.Model.extend({
        scoreT1: DS.attr('string'),
        scoreT2: DS.attr('string'),
        user: DS.belongsTo('user', {async:true})
    });
    

    【讨论】:

    • 我也是这么想的。但它不能解决问题。 (我不确定它是否有区别,但用户已经被侧载,所以没有必要再做一个请求。)
    猜你喜欢
    • 1970-01-01
    • 2014-04-17
    • 1970-01-01
    • 1970-01-01
    • 2016-04-07
    • 1970-01-01
    • 1970-01-01
    • 2018-12-01
    • 2021-06-24
    相关资源
    最近更新 更多