我有以下型号:
reference
user
型号现在,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
模型创建自定义序列化程序?
答案 0 :(得分:0)
听起来像是在EmbeddedRecordsMixin.
之后有了它,您可以告诉序列化程序包含整个模型或其ID。像这样:
//serializer/user.js
import DS from 'ember-data';
export default DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
departments: { embedded: 'always' }
}
});