【发布时间】:2014-11-27 17:37:59
【问题描述】:
Ember:1.5.1 ember.js
Ember 数据:1.0.0-beta.7.f87cba88
我需要对一种关系类型进行不对称(反)序列化:反序列化时侧载记录和序列化时嵌入。
我以标准方式提出了这个要求:
RailsEmberTest.PlanItemSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
attrs: {
completions: {serialize: 'records', deserialize: 'ids'}//embedded: 'always'}
}
});
但是,它似乎不起作用。执行通过后,我发现在 Ember 数据的第 498 行,序列化程序决定是否嵌入关系:
embed = attrs && attrs[key] && attrs[key].embedded === 'always';
在这个阶段,attrs 散列格式良好,完成包含上述属性。但是,这一行会导致 embed 为 false,因此记录不会被嵌入。
将 embed 的值覆盖为 true 会让人觉得很麻烦。
任何想法为什么 Ember 数据忽略设置?我怀疑可能在我的版本中唯一的选项是嵌入的,我需要升级到更高版本以利用序列化和反序列化的不对称设置。
但是,鉴于可能的多种变化,我害怕升级!
非常感谢您的建议。
【问题讨论】: