我知道以前有人问过这个问题,并且我可以使用它,但是我不确定它是如何/为什么起作用的,并且希望有人可以向我解释。
我有一个模型,一次只更改一个属性。我不想每次都将整个模型发送到服务器,因为不需要就地编辑。
我这样保存模型
更新字段:函数(e){ var value = $('#update').val(); var key = $(e.currentTarget).parent().attr('id'); MyModel.attributes[key] = value; MyModel.save({key: value},{patch: true},{ 成功:函数(){ 警报(“已保存”); }, 错误:函数(){ alert('更新配方有问题'); }}); },
当我查看发送到服务器的有效负载时,整个模型都在发送,但 rails 控制台只显示更新的字段正在更新。我觉得这令人印象深刻,但同时也令人困惑。它如何知道需要更新的内容。
我认为我对此最大的抱怨是 Paperclip 试图保存附件,即使更新中没有保存附件。
我在这里做错了吗?Backbone 如何告诉 Rails 更新哪些属性。有没有办法真正只发送必要的属性?
另外,由于某种原因,我的成功功能没有被触发。虽然我怀疑这是相关的。