我有以下两种模式:User
和Job
每个user
只能有一份工作
user.attributes
和job.attributes
看起来像这些(1):
(1)
user.attributes = {
id: 1,
name: 'barName',
job_id: 5
}
job.attributes = {
id: 5,
name: 'fooJob'
}
假设我想在这两个模型之间建立关系:
外键应为job_id
(2)
User = Backbone.ModelRelation.extend({
relations: [
{
type: Backbone.HasOne,
key: 'job_id',
keyDestination: 'job',
relatedModel: User
}
]
});
使用代码(2),结果将是:
(3)
user.attributes = {
id: 1,
name: 'barName',
job: job.attributes
}
正如您所见,job_id
中的user.attributes
丢失了
因此,如果我向服务器发出PUT请求,服务器会抱怨缺少job_id属性
任何想法如何修复(3)以便将job_id保存在user.attributes中,如(4)?
(4)
user.attributes = {
id: 1,
name: 'barName',
job_id: 5
job: job.attributes
}
答案 0 :(得分:0)
我的解决方法是更改服务器读取JSON的方式。
因此服务器会读取{user:{job:{id:1}}}
而不是{user:{job_id:1}}
请注意,我们包含一个具有id属性的子对象,而不是使用job_id flat属性。
取决于可以配置哪个服务器端框架。