gpt4 book ai didi

javascript - ember-cli 与 EmbeddedRecordsMixin 不是嵌入式模型

转载 作者:行者123 更新时间:2023-11-28 00:26:20 31 4
gpt4 key购买 nike

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

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

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

嵌入与EmbeddedRecordsMixin的hasMany Eventcategories关联,这不会出现在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' }
}
});
<小时/>

你能帮我吗?

问候。

天使

最佳答案

最后我解决了这个问题,它可以用这个:

模型/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'
}
}
});

关于javascript - ember-cli 与 EmbeddedRecordsMixin 不是嵌入式模型,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29458266/

31 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com