Ember-data嵌入记录当前状态?

kfi*_*124 18 ember.js ember-data

我真的陷入了由Ember数据引起的大量问题,并且缺乏嵌入式记录支持.

我搜索了整个网络,大多数帖子已经过时,其他的已经过时+要求我使用第三方库或连接300行特殊代码有很多缺点.

我不知道如何使用嵌入式记录和今天的ember-data?

编辑:现在有一个新的文档http://emberjs.com/api/data/classes/DS.EmbeddedRecordsMixin.html

Kin*_*n2k 31

使用ActiveModelSerializer您可以包含EmbeddedRecordsMixin 允许您使用嵌入式记录的内容.(在金丝雀版本中,1.0 beta 9+,您也可以使用JsonSerializer/ RESTSerializer)

串行

App.ColorSerializer = DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    foos: {embedded: 'always'}
  }
});
Run Code Online (Sandbox Code Playgroud)

楷模

App.Color = DS.Model.extend({
  color: DS.attr(),
  foos: DS.hasMany('foo')
});

App.Foo = DS.Model.extend({
  name: DS.attr()
});
Run Code Online (Sandbox Code Playgroud)

JSON

{
 colors:[
  {
    id: 1,
    color: "red",
    foos:[
      {
        id:1,
        name:'something 1'
      },
      {
        id:2,
        name:'something 2'
      }
    ]
  },
  ...
Run Code Online (Sandbox Code Playgroud)

http://emberjs.jsbin.com/qagalabaso/1/edit

因为它RESTSerializerJsonSerializer它遵循相同的模式

App.ColorSerializer = DS.RESTSerializer.extend(DS.EmbeddedRecordsMixin, {
  attrs: {
    foos: {embedded: 'always'}
  }
});
Run Code Online (Sandbox Code Playgroud)

http://emberjs.jsbin.com/lesiwebobi/1/edit

  • 谢谢@ kingpin2k没有你90%的Ember问题仍然没有答案:),我是否必须为每个模型制作一个serilaizer?或者我可以设置一些通用的全局嵌入式serilaizer (9认同)
  • Excellent! I think that Ember docs totally miss all the embedded part (3认同)