json - 如何将 Rails Grape API 与 Ember 反身模型连接起来

标签 json ember.js ember-data grape grape-entity

我在将来自 Grape(用 Grape 实体序列化)的 Json 有效负载与 Ember 反射模型连接时遇到问题。模型看起来像这样:

Category = DS.Model.extend {
  name: DS.attr 'string',
  children: DS.hasMany 'category', inverse: 'parent',
  parent: DS.belongsTo 'category', inverse 'children'
}

因此,正如您所看到的,我正在尝试对类别-子类别关系进行建模。来自端点的示例 json 响应是:
{
  "category": {
    "id": 1,
    "name": "Sport",
    "child_ids": [
      5,
      6,
      8,
      7
    ]
  },
  "children": [
    {
      "id": 5,
      "name": "Basketball",
      "parent_id": 1
    },
    {
      "id": 6,
      "name": "Football",
      "parent_id": 1
    },
    {
      "id": 8,
      "name": "Running",
      "parent_id": 1
    },
    {
      "id": 7,
      "name": "Volleyball",
      "parent_id": 1
    }
  ]
}

有警告信息:
WARNING: Encountered "children" in payload, but no model was found for model name "child" (resolved model name using mateby-front@serializer:-active-model:.modelNameFromPayloadKey("children"))

正如它在 ActiveModelAdapter 文档中所说,它应该提供嵌套资源的 id 和带有侧载数据的父资源的 id。问题是 ember Inspector 中只有一个类别记录,但没有相关的子项。

我还尝试制作两个模型:类别和子类别,并为其他 ids/id 命名提供相同的有效负载,我可以看到在这种情况下,所有需要的子类别记录但不是类别的 hasMany(两个单独的数据)。

最佳答案

问题可能来自您忘记在第二个逆之前放置双点的事实:

改变

Category = DS.Model.extend {
  name: DS.attr 'string',
  children: DS.hasMany 'category', inverse: 'parent',
  parent: DS.belongsTo 'category', inverse 'children' #here
}


Category = DS.Model.extend {
  name: DS.attr 'string',
  children: DS.hasMany 'category', inverse: 'parent',
  parent: DS.belongsTo 'category', inverse: 'children' #here
}

关于json - 如何将 Rails Grape API 与 Ember 反身模型连接起来,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/32952470/

相关文章:

javascript - 如何将模型值传递给 ember.js 中的新路由

ember.js - 为什么 "Assertion failed: You can only add a '故事“这段关系的记录”被抛出?

ember.js - 如何在控制台中调试 Ember 数据查找

json - Grails GSP安全导航运算符(operator)是否可以防御 “JSONObject$Null”?

javascript - 在 camunda 进程中的进程变量中传递 json

ios - 如何获取json数据并通过segue传递它

javascript - 在 Ember 中按照不同模型的属性进行排序

javascript - Ember Cli 组件中数据列表满足条件的 bool 值

javascript - 路由中的 Ember "Params is not defined"

python - 如何导出 flask restplus swagger json?