gpt4 book ai didi

javascript - Ember createRecord 未创建关系

转载 作者:行者123 更新时间:2023-11-28 01:41:01 25 4
gpt4 key购买 nike

截至本文,我正在使用最新的 ember 和 ember-data。我的设置包括 django、django-rest-framework。我的适配器是 ember-data-django-rest-adapter。

我有这些模型

App.Game = DS.Model.extend({
name: DS.attr('string'),
thumbnail: DS.attr('string'),
images: DS.hasMany('image', {async: true}),
spritesheets: DS.hasMany('spritesheet', {async: true})
});

App.Image = DS.Model.extend({
name: DS.attr('string'),
absolute_url: DS.attr('string'),
game: DS.belongsTo('game', {async: true}),
spritesheet: DS.belongsTo('spritesheet', {async: true})
});

App.Spritesheet = DS.Model.extend({
name: DS.attr('string'),
columns: DS.attr('number'),
rows: DS.attr('number'),
cell_width: DS.attr('number'),
cell_height: DS.attr('number'),
game: DS.belongsTo('game', {async: true}),
image: DS.belongsTo('image', {async: true}),
animations: DS.hasMany('animation', {async: true})
});

App.Animation = DS.Model.extend({
name: DS.attr('string'),
spritesheet: DS.belongsTo('spritesheet', {async: true}),
});

这条路线:

App.AnimationsRoute = Ember.Route.extend({
model: function(params){
var store = this.store;
var image = this.modelFor('image');
var game = this.modelFor('game');
var spritesheet = image.get('spritesheet');
console.log(game)
if (spritesheet === null) {
spritesheet = store.createRecord('spritesheet',{
name: 'test',
game: game,
image: image
});
console.log(spritesheet.toJSON())

}
return spritesheet.get('animations');
}
});

显然有更多的代码,但这就是导致我出现问题的部分。其余部分工作正常。游戏模型加载正常,如图所示。

我的问题是“图像”和“游戏”属性设置为“未定义”。这是控制台中的 json 输出:

Object {name: "test", columns: null, rows: null, cell_width: null, cell_height: null…}
{
cell_height: null,
cell_width: null,
columns: null,
game: undefined,
image: undefined,
name: "test",
rows: null
}

多年来我一直对此感到疯狂。有人有任何线索吗?另外,我知道我可能不应该在 route 进行创建,但我只是想让它暂时工作

最佳答案

belongsTo async 有 2 个 Unresolved 问题,目前不允许分配。

https://github.com/emberjs/data/pull/1535

https://github.com/emberjs/data/issues/1542

关于javascript - Ember createRecord 未创建关系,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20927168/

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