Ember在POST有效负载中包含id属性

时间:2016-04-14 17:41:52

标签: ember.js ember-data

我有以下型号:

  1. A" generic"用于列出值的模型reference
  2. user型号
  3. 现在,user可以有多个departments,其模型正好是reference

    如何在user模型中声明departments可以有多个reference个对象?

    我尝试了以下操作,但无法使其正常工作:

    import DS from 'ember-data';
    import Ember from 'ember';
    
    export default DS.Model.extend({
        name: DS.attr('string'),
        departments: DS.hasMany('reference')
    });
    

    对于它的价值,这个问题源于需要使用Ember Data在POST有效负载中包含id。我原来的user模型是这样的:

    import DS from 'ember-data';
    import Ember from 'ember';
    
    export default DS.Model.extend({
        name: DS.attr('string'),
        departments: DS.attr()
    });
    

    上述模型出现问题,每当我保存记录时,即使它们已经加载到商店中,它也不会包含有效载荷中的引用ID。

    我是否需要为user模型创建自定义序列化程序?

1 个答案:

答案 0 :(得分:0)

听起来像是在EmbeddedRecordsMixin.

之后

有了它,您可以告诉序列化程序包含整个模型或其ID。像这样:

//serializer/user.js
import DS from 'ember-data';

export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    departments: { embedded: 'always' }
  }
});