繁体   English   中英

保存新记录时为空请求有效负载-Ember-data

[英]Empty request payload when saving new record - Ember-data

我正在尝试:

保留新记录,但是由于某种原因,即使记录中有数据,请求有效负载也为空。

这是一个小提琴: http : //jsfiddle.net/brancusi/m8VrB/16/

(忽略firebase,它就在那里,因此我们可以在保存时检查请求有效负载。)

说明:

您会注意到,当您保存记录时,请求有效负载为空。

理想情况下,请求有效负载应如下所示:

{
    "inventory": {
        "entry_time": "2014-02-05",
        "client_id": 1,
        "user_id": 1,
        "product_stock_levels": [
            {
                "product_id": 1,
                "quantity": 2
            },
            {
                "product_id": 2,
                "quantity": 0
            },
            {
                "product_id": 3,
                "quantity": 8
            }
        ]
    }
}

笔记:

当它是新记录时,这似乎只是一个问题。 更新现有记录将发送正确的有效负载。

您期望余烬数据在默认保存时将关系嵌入模型中。 这不是默认行为。

您可以将关系定义为按模型嵌入。 但是不再支持嵌入式记录功能,如下所示: https : //github.com/emberjs/data/blob/master/TRANSITION.md我不确定基本的嵌入式记录功能是否仍适用于最新版本的余烬数据。 但是您将记录定义为嵌入式,如下所示:

App.InventorySerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
    attrs: {
        productStockLevels: {embedded: 'always'}
    }
});

因为核心团队停止了对此嵌入式记录功能的支持,并且这是非常基本的,所以如果您需要对嵌入式记录的支持,建议您使用EmbbededAdapterEmbeddedMixin 您可以在这里找到它们: https : //github.com/pixelhandler/ember-data-extensions

但是由于Ember Data EmbeddedAdapter尚未稳定。 如果您灵活地定义api,也许您应该考虑不使用嵌入式记录来降低复杂性。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM