【问题标题】:ember-cli with EmbeddedRecordsMixin not embedded modelember-cli 与 EmbeddedRecordsMixin 不是嵌入式模型
【发布时间】:2015-04-05 14:21:36
【问题描述】:

这是我在 Stackoverflow 中的第一个问题。 :) 我的问题是下一个:

我正在尝试使用以下格式将 JSON 发送到我的 API(通过 POST):

Events: [
{
  id: 2,
  name: "foo",
  Eventcategories: [1,2]
}]

嵌入一个 hasMany Eventcategories 与 EmbeddedRecordsMixin 关联,这不会出现在序列化的 JSON 中,只有这个:

Events: [
{
  id: 2,
  name: "foo"
}]

我使用 ActiveModelSerializer 和 RESTSerializer 尝试过,但没有结果。

GET 响应没有任何问题。

我有一个带有这些模型的 ember-cli 项目:

--------event.js ----

var event = DS.Model.extend({
  name: DS.attr('string'),
  Eventcategories: DS.hasMany('eventcategory')
});
export default event;

---------eventcategoy.js ------

var eventcategory = DS.Model.extend({
   tipo: DS.attr('string'),
   Events: DS.hasMany('event')
});
export default eventcategory;

这是我的序列化器:

-------event.js----------------------------

import DS from 'ember-data';

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

-----eventcategory.js --------

import DS from 'ember-data';

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

你能帮帮我吗?

问候。

天使

【问题讨论】:

    标签: javascript ember.js ember-cli serialization


    【解决方案1】:

    最后我解决了这个问题,它适用于:

    模型/foo.js:

    var foo = DS.Model.extend({
    ...,
    ...,
    ...,
    bars: DS.hasMany('bar', {async: true})
    });
    export default foo;
    

    模型/bar.js:

    var bar = DS.Model.extend({
    ...,
    Foos: DS.hasMany('foo', {async: true})
    });
    
    export default bar;
    

    序列化器/foo.js:

    import DS from 'ember-data';
    export default DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin,{
      attrs: {  
        Bars: {
         embedded: 'always'
        }
      }
    });
    

    序列化器/bar.js:

    import DS from 'ember-data';
    export default DS.ActiveModelSerializer.extend(DS.EmbeddedRecordsMixin,{
      attrs: {    
        Foos: {
              embedded: 'always'
            }
       }
    });
    

    【讨论】:

      猜你喜欢
      • 2015-01-18
      • 1970-01-01
      • 1970-01-01
      • 2017-11-25
      • 1970-01-01
      • 2015-11-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多