我们一直在使用 Backbone Relational 来模拟前端的ORM关系,例如:
{
id: 2
username: "bob"
comments: [
{
id:5,
comment: "hi",
user: {
username: 'Bob'
}
}
]
}
在前端使用这样的模型一直很有效:
class User extends App.RelationalModel
relations: [{
type: Backbone.HasMany,
key: 'comments',
relatedModel: 'Comment',
collectionType: 'CommentCollection'
}]
但是现在我们的api已经改变并尊重更多 JSON-API Spec ,因此来自后端的数据被封装在'数据中。
{
data: {
id: 2
username: "bob"
data: {
comments: [
{
id:5,
comment: "hi",
user: {
username: 'Bob'
}
}
]
},
meta: {
}
}
}
我们如何指示骨干关系获取“评论”的数据?来自.data的关系,而不是直接映射json结构?
对于'类用户''我们可以实现像这样的解析方法
class User
parse: (response) ->
response.data
但是我们如何为评论关系做到这一点?
答案 0 :(得分:0)
这是怎么回事?
parse: function (response) {
var fixed_response = response.data;
fixed_response.comments = fixed_response.data.comments;
delete fixed_response.json.data;
return fixed_response;
}