我正在使用Ember 2.6,目前正在使用Mirage作为客户端托管的静态数据库。
我开始使用fixtures du提供样本数据,但是我不能使关系工作。
我有两个实体:岛和点,具有多对一关系
//mirage/models/spot.js
import { Model, belongsTo } from 'ember-cli-mirage';
export default Model.extend({
island: belongsTo()
});和
//mirage/models/island.js
import { Model, hasMany } from 'ember-cli-mirage';
export default Model.extend({
spots: hasMany()
});和我的fixture数据
//mirage/fixture/spots.js
export default [
{id: '1', name: 'test spot', island_id: [1]},
}和
//mirage/fixture/islands.js
export default [
{id: '1', name: 'Island 1 Name', permit: null, spot_ids: [1]},
}我的config.js只是一个简单的getAll
this.get('/islands', function(schema, request){
return schema.islands.all();
});但当我调用它时,我得到了我的岛屿,但关系却不见了。
使用默认的json api适配器。
如何让幻影返回具有给定关系的json数据?我尝试同时在两边和2中设置关系,但都没有提供子实体。
这是我在github上的项目链接:https://github.com/drallieiv/StreetpassTips/tree/feature/showRealDataForIslands/mirage
发布于 2016-06-27 16:45:38
尝试在fixture文件中的关系属性之间不加下划线。
例如:
//mirage/fixture/spots.js
export default [
{id: '1', name: 'test spot', islandId: 1},
}另外,在模型中,您必须给hasMany和belongsTo一个类似于hasMany('spot')和belongsTo('island')的模型
https://stackoverflow.com/questions/38030269
复制相似问题