1

我想知道是否可以定义一个存储到另一个模型中的模型。

我有这种结构:

Model Contact
    String name
    Model Address (hasMany)
    Model Phone (hasMany)

在我的后端,地址和电话是 MongoDB 的嵌入文档,包含在“联系人”文档中。

而且,只要它们是嵌入式文档,它们就没有 id。当我在 Emberjs/data 层时,它们很好地加载了嵌入式选项(参见https://github.com/emberjs/data#one-to-one部分的末尾),但存储为单独的对象,这会在更新或保存时引起麻烦...

4

1 回答 1

3

您正在使用 RESTadapter...当您保存时,您想序列化所有嵌入的关系吗?

当您保存或更新您的记录时,将选项哈希传递给 toJSON 方法

{associations: true}

看看 ember-data 上的单元测试示例: https ://github.com/emberjs/data/blob/master/packages/ember-data/tests/unit/to_json_test.js

deepEqual(record.toJSON({ associations: true }),
        { id: 1, name: "Chad", phone_numbers: [{
            id: 7,
            number: '123'
          },
          {
            id: 8,
            number: '345'
          },
          {
            id: 9,
            number: '789'
          }
        ]},
        "association is updated after editing associations array");
});

希望这可以帮助..

于 2012-08-23T14:36:13.587 回答