私はこれが以前に尋ねられたことを知っています、そして私はそれを機能させています、しかし私はそれがどのように/なぜ機能するのかわかりません、そして誰かが私にそれを説明できることを望んでいました。
モデルがあり、一度に1つの属性のみを変更しています。編集インプレース編集の必要がないため、モデル全体を毎回サーバーに送信したくありません。
このようにモデルを保存します
update_field:function(e){
var value = $('#update')。val();
var key = $(e.currentTarget).parent()。attr('id');
MyModel.attributes [key] = value;
MyModel.save({key:value}、{patch:true}、{
成功:function(){
alert('保存済み');
}、
エラー:function(){
alert('レシピの更新に問題があります');
}});
}、
サーバーに送信されたもののペイロードを表示すると、モデル全体が送信されていますが、railsコンソールには更新されている更新済みフィールドのみが表示されます。これは印象的ですが、同時に混乱を招きます。何を更新する必要があるかをどのように知るのですか。
これに対する私の最大の不満は、更新で添付ファイルが保存されていないのに、Paperclipが添付ファイルを保存しようとすることだと思います。
ここで私が間違っていることはありますか?Backboneはどの属性を更新するかをRailsにどのように伝えますか。本当に必要な属性だけを送信する方法はありますか?
また、何らかの理由で成功関数がトリガーされていません。私はそれが関連しているとは思えませんが。