私は、属性title
だけを保存したいモデルがあります。1つの属性だけを保存する
myBook.model.save(['title']);
問題はrequest.body
だけではなく、関連する属性title
の、全体myBook.toJSON()
オブジェクトであることです。これは私が試したものです。それは設計によるのですか、私は何か愚かなことをしていますか?
私は、属性title
だけを保存したいモデルがあります。1つの属性だけを保存する
myBook.model.save(['title']);
問題はrequest.body
だけではなく、関連する属性title
の、全体myBook.toJSON()
オブジェクトであることです。これは私が試したものです。それは設計によるのですか、私は何か愚かなことをしていますか?
これは仕様です。
if (!params.data && model && (method == 'create' || method == 'update')) {
params.contentType = 'application/json';
params.data = JSON.stringify(model.toJSON()); // <-- jsonifies the entire model
}
この動作を無効にする方法はたくさんあります。今度は、とりわけんあなたのバックエンドへの変更を、永続化する
save
通話Backbone.sync
。モデルにsync
メソッドを与えることができます。この場合、Backboneのデフォルトのsync
の代わりに呼び出されます。あるいは、あなたが望むことをするためにBackbone.syncをオーバーライドできます。
しかし、ほとんどのサーバー側フレームワークでは、完全なJSONオブジェクトの受信と変更されたコンテンツの更新のみを処理できます。変更された属性をサーバーに送信する必要があるのはなぜですか?
サイドノート:save
の最初のパラメータは、['title']
とは対照的に{title: newBookTitle}
という属性のハッシュである必要があります。しかし、私はそれがおそらくちょっとしたサンプルのタイプミスであったと推測しています。
[バックボーン - 保存する属性を指定する方法]の複製が可能ですか?(http://stackoverflow.com/questions/8637083/backbone-how-to-specify-attributes-to-save) –