首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Ember +幻影和关系

Ember +幻影和关系
EN

Stack Overflow用户
提问于 2016-06-25 23:57:33
回答 1查看 1K关注 0票数 0

我正在使用Ember 2.6,目前正在使用Mirage作为客户端托管的静态数据库。

我开始使用fixtures du提供样本数据,但是我不能使关系工作。

我有两个实体:岛和点,具有多对一关系

代码语言:javascript
复制
//mirage/models/spot.js
import { Model, belongsTo } from 'ember-cli-mirage';   
export default Model.extend({
  island: belongsTo()
});

代码语言:javascript
复制
//mirage/models/island.js
import { Model, hasMany } from 'ember-cli-mirage';
export default Model.extend({
  spots: hasMany()
});

和我的fixture数据

代码语言:javascript
复制
//mirage/fixture/spots.js
export default [
  {id: '1', name: 'test spot', island_id: [1]},
}

代码语言:javascript
复制
//mirage/fixture/islands.js
export default [
  {id: '1', name: 'Island 1 Name', permit: null, spot_ids: [1]},
}

我的config.js只是一个简单的getAll

代码语言:javascript
复制
  this.get('/islands', function(schema, request){
    return schema.islands.all();
  });

但当我调用它时,我得到了我的岛屿,但关系却不见了。

使用默认的json api适配器。

如何让幻影返回具有给定关系的json数据?我尝试同时在两边和2中设置关系,但都没有提供子实体。

这是我在github上的项目链接:https://github.com/drallieiv/StreetpassTips/tree/feature/showRealDataForIslands/mirage

EN

回答 1

Stack Overflow用户

发布于 2016-06-27 16:45:38

尝试在fixture文件中的关系属性之间不加下划线。

例如:

代码语言:javascript
复制
//mirage/fixture/spots.js
export default [
  {id: '1', name: 'test spot', islandId: 1},
}

另外,在模型中,您必须给hasMany和belongsTo一个类似于hasMany('spot')belongsTo('island')的模型

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/38030269

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档