我正在使用Ember 2.6,目前正在使用Mirage作为客户端托管的静态数据库。
我开始使用fixtures du提供样本数据,但我不能使关系有效。
我有2个实体:岛屿和斑点,具有多对一关系
(def vecmap [{:a "hello"} {:a "hi"} {:a "hey"}])
和
(doseq [r vecmap] (get-in r [:a]))
和我的夹具数据
:a
和
//mirage/models/spot.js
import { Model, belongsTo } from 'ember-cli-mirage';
export default Model.extend({
island: belongsTo()
});
我的config.js只是一个简单的getAll
//mirage/models/island.js
import { Model, hasMany } from 'ember-cli-mirage';
export default Model.extend({
spots: hasMany()
});
但是,当我打电话给它时,我得到了我的岛屿,但关系却缺失了。
使用默认的json api适配器。
如何让Mirage以给定的关系返回json数据? 我尝试在两侧设置关系,同时设置2,并且都不提供子实体。
这是我在github上的项目的链接: https://github.com/drallieiv/StreetpassTips/tree/feature/showRealDataForIslands/mirage
答案 0 :(得分:0)
尝试在夹具文件中的关系属性之间没有下划线。
例如:
//mirage/fixture/spots.js
export default [
{id: '1', name: 'test spot', islandId: 1},
}
同样在模型中你必须给hasMany和belongsTo一个模型
与hasMany('spot')
和belongsTo('island')