gpt4 book ai didi

ember.js - 获取错误 : You need to pass a model name to the store's modelFor method

转载 作者:行者123 更新时间:2023-12-04 23:40:52 25 4
gpt4 key购买 nike

使用 Ember 2.6.0

定义了以下路由:

Router.map(function() {
this.route('brands');
this.route('brand', {path: '/brands/:brand_id'});
});

型号为 brand是:
export default Model.extend({
name: attr('string'),
description: attr('string'),
dateCreated: attr('date'),
lastUpdated: attr('date'),
regions: hasMany('region')
});

型号为 region是:
export default Model.extend({
name: attr('string'),
dateCreated: attr('date'),
lastUpdated: attr('date'),
brand: belongsTo('brand')
});

现在,当尝试访问 /brands 时我在 route 这样做:
export default Ember.Route.extend({
model() {
return this.store.findAll('brand');
}
});

我收到以下错误:

You need to pass a model name to the store's modelFor method



这在添加 brand 之前有效路线和 region关系。 Brand 是父级,所以我不确定为什么这不起作用。

更新:

删除 regions: hasMany('region')来自 brand模型允许事情再次工作。不知道为什么它不能与定义的关系一起工作。

最佳答案

所以事实证明我必须为每个对象创建序列化程序。对于品牌,我有:

import RESTSerializer from 'ember-data/serializers/rest';
import DS from 'ember-data';

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

而对于 region我有:
import RESTSerializer from 'ember-data/serializers/rest';

export default RESTSerializer.extend({
});

从技术上讲,它可以在没有区域序列化程序的情况下工作,但我收到一条警告,说 ember 找不到 regionsregion模型。我可能会向 ember 提交一张票,以建议不必创建空 RESTSerializer只是为了避免这个警告。

关于ember.js - 获取错误 : You need to pass a model name to the store's modelFor method,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37927705/

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