次の 2 つのモデルがあります:User
とJob
.
それぞれuser
が持つことができるジョブは 1 つだけです。とは次
のようになります (1):user.attributes
job.attributes
(1)
user.attributes = {
id: 1,
name: 'barName',
job_id: 5
}
job.attributes = {
id: 5,
name: 'fooJob'
}
これら 2 つのモデル間の関係を作成したいとします。外部キーは次のようにする必要があります。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
fromuser.attributes
が失われています。
そのため、サーバーに PUT リクエストを送信すると、サーバーは job_id 属性が欠落していると文句を言います。
(4) のように user.attributes に job_id を保持するために (3) を修正するにはどうすればよいですか?
(4)
user.attributes = {
id: 1,
name: 'barName',
job_id: 5
job: job.attributes
}
リファレンス:
Paul Uithol -バックボーンリレーショナル