私はこれが以前に尋ねられたことを知っています、そして私はそれを機能させています、しかし私はそれがどのように/なぜ機能するのかわかりません、そして誰かが私にそれを説明できることを望んでいました。
モデルがあり、一度に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にどのように伝えますか。本当に必要な属性だけを送信する方法はありますか?
また、何らかの理由で成功関数がトリガーされていません。私はそれが関連しているとは思えませんが。