Ember-Data 能否处理来自一个 JSON 负载的两个模型?

Can Ember-Data handle two models from one JSON payload?

我有 JSON 来自服务器,看起来像:

data: {
       user: {
              address: {
                         id: "id",
                         city: "city",
                         street: "street",
                         .......
              }
              name: "name",
              ......
       }

       authentication-token: {
                         token: "token",
                         id: "id"
       }
}

想法是将这两个模型(用户、身份验证令牌)以相同的名称存储在 ember 存储中。当我从服务器获得上述响应时,模型用户已成功保存,但模型身份验证令牌根本没有保存到商店中。当我在将数据传递给序列化程序之前记录数据(在适配器中)时,我看到 JSON 具有 Ember-Data 期望的结构。不知道问题是Ember-data不能一次成功处理两个model,然后保存到对应的models,还是别的。想法?

现在 all makes sense to me. Of course, this was the problem in your 。无论如何,ember-data 的 RESTAdapter 不能处理这个。如果您请求单一资源 user,它最多希望该用户作为单一答案。任何其他可能是 "side-loaded" 的资源都必须是一个数组。请求的单数 user 可以是 user 键下的记录,也可以是 users 键下数组中的第一个条目。其他所有内容(元数据除外)都必须是复数。

如果您请求的是复数资源 users,主要响应必须在 users 键下,任何不属于响应的旁加载用户都带有 [=17] =] 在 _users 键下。

对于您的示例,所有这些都意味着您的 json 必须采用如下格式:

data: {
       user: {
              address: {
                         id: "id",
                         city: "city",
                         street: "street",
                         .......
              }
              name: "name",
              ......
       }

       authentication-tokens: [{
                         token: "token",
                         id: "id"
       }]
}

如果您无法更改服务器,则必须配置 RESTAdapter 以通过序列化程序的 normalize 规范化 JSON 数据。