我使用master ember-cli-mirage分支来利用主动模型序列化器和关系支持,现在我已经拥有了hasMany关系的完整工作示例,但是现在给出了一个模型UserOneOne组织我无法弄清楚如何将组织json嵌入到用户json中,到目前为止我一直试图使用belongsTo而没有运气,因为它试图将外键添加到用户,看起来像如果用户没有组织,则会抛出错误,因为它验证资源(因为没有组织而为null)是否为模型,如果不是,则它会尝试映射为集合,从而导致错误。
不确定如何实现这种行为,我通过将用户设置为好像属于组织(它确实相反)并将组织ID分配给用户organizationId来欺骗用户模型,这样它将组织对象嵌入到用户json中,但它显然只是一个hack而不是正确/预期的方式来实现这一点,因为hasOne是一种常见的模式。
任何建议或建议都表示赞赏。
答案 0 :(得分: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'
}
}
});