如果我将任何“额外”属性发送回服务器,我遇到的 API 就会爆炸。现在,我确定我已经打破了一些 MVC 规则或通过在我的客户端 Backbone 模型上拥有服务器端不存在的属性,但是,我需要做的是发起一个 CREATE 请求,但只通过一些我从我的模型中发起 CREATE 请求的属性。
我可以很容易地在主干中做到这一点:
Model.save({key: val}, {patch: true});
然后修改主干同步方法映射默认补丁路由为 POST 而不是 PATCH,这让我得到了我正在寻找的东西,除了稍后我希望在适当的时候真正能够 PATCH(而不是 POST)。我只需要它来发布,就好像它只是为创建操作进行修补(而不是更新操作!)。
所以,简而言之,我需要采取这样的措施:
new Backbone.Model({'foo': 'bar', 'baz': 'beh'});
并告诉它自己同步到服务器,但只发送'foo'而不发送'baz',但它必须作为POST发送(它不能是PATCH)。
有任何想法吗?