【发布时间】:2015-08-20 15:56:35
【问题描述】:
在 Ember 中,我有一个模型,它具有嵌入的子对象,包括 belongsTo 和 hasMany。我正在使用 Ember Data 支持 Rails API,并使用 Active Model Serializer。对象的设置是 -
Application.Release = DS.Model.extend({
title: DS.attr(),
...
label: DS.belongsTo('label'),
artists: DS.hasMany('artist')
});
Application.ReleaseSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
label: { embedded: 'always' },
artists: { embedded: 'always' }
}
});
Application.Label = DS.Model.extend({
name: DS.attr(),
release: DS.belongsTo('release')
});
Application.Artist = DS.Model.extend({
name: DS.attr(),
release: DS.belongsTo('release')
});
这就是全面的发现和工作。
我的问题出现在发布索引上,列出所有发布。当一个艺术家或标签用于多个版本时,它只包含在所有版本的最终版本中,从以前的对象中丢失。例如 -
Title Artist Label
Release 1 Artist 1 Label 1
Release 2
Release 3 Artist 2 Label 2
Release 2 的 JSON 按预期包含 Artist 2 和 Label 2,但 Ember 对象中缺少。
我是否遗漏了有关 Ember 如何看待这些对象的重要信息?如何确保它们包含在 JSON 中反映的每个对象中?
【问题讨论】:
标签: ember.js ember-data