0

我正在使用主 ember-cli-mirage 分支来利用活动模型序列化程序和关系支持,现在我有一个具有 hasMany 关系的完整工作示例,但现在给出了一个模型用户,我无法弄清楚 hasOne 组织如何将组织json嵌入到用户json中,到目前为止,我一直在尝试使用belongsTo但没有运气,因为它试图将外键添加给用户,看起来如果用户没有组织它会引发错误,因为它验证资源(null,因为没有组织)是否是模型,如果不是,则尝试将其映射为导致错误的集合。

不知道如何实现这种行为,我通过将用户设置为好像它属于组织(实际上是相反的)并将组织 ID 分配给用户组织 ID 来欺骗用户模型,这样它将组织对象嵌入到用户 json,但这显然只是一种 hack,而不是正确/预期的方式来做到这一点,账户 hasOne 是一种常见的模式。

任何建议或建议表示赞赏。

4

1 回答 1

2

您将需要添加一个自定义序列化程序/serializers以使用嵌入记录的模型命名:

import DS from 'ember-data';
// Assuming your application serializer extends ActiveModelSerializer
import ApplicationSerializer from './application';

const { EmbeddedRecordsMixin } = DS;

export default ApplicationSerializer.extend(EmbeddedRecordsMixin, {
  attrs: {
    yourEmbededRecordsModelName: {
      embedded: 'always'
    }
  }
});
于 2015-12-09T11:35:36.403 回答