Json 如何将Rails-grapeapi与Ember自反模型连接起来
我在将来自Grape(用Grape实体序列化)的Json负载与Ember自反模型连接时遇到问题。模型如下所示:Json 如何将Rails-grapeapi与Ember自反模型连接起来,json,ember.js,ember-data,grape,grape-entity,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' } 正如你们所看到的,我试图在这里建立类别-子类别关系的模型
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中有一个类别记录,但没有相关的子项
我还尝试制作了两个模型:category和subcategory,并为其他id/id命名提供相同的负载,我可以看到在这种情况下,所有需要的子类别记录都有,但没有category(两个独立的数据)那么多 问题可能是因为您忘记在第二个倒数前面加上双点: 改变
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
}