2013-02-26 100 views

回答

6

致电destroy时可以通过。

this.model.destroy({ url: "your-custom-url/" });

+2

这通常会代表对MVC的严重违反,因为模型应该将这些知识封装在一个地方。这种方法会将自定义URL泄漏到视图/控制器中。并不是说它在每个应用程序中都是绝对不好的设计,只是针对典型的设计,我会建议不要这样做。 – 2014-04-25 20:49:11

+0

完全同意 - 重写destroy方法绝对是最好的方式,否则它只是在Backbone中编写jQuery spaghetti-like代码:) – neebz 2014-04-27 11:46:15

15
var MyModel = Backbone.Model.extend({ 
    destroy: function (options) { 
     var opts = _.extend({url: '/destroy/' + this.id}, options || {}); 
     return Backbone.Model.prototype.destroy.call(this, opts); 
    } 
)}; 

所有基于AJAX的互动最终由Backbone.sync这需要一个选项来处理对象,其中可如果骨干的默认网址方案不适合您的服务器工作中提供的URL。

+0

甚至会更好,如果你允许的选项,通过如下: '破坏:功能(选择){返回Backbone.Model.prototype.destroy.call(这一点,_.extend( {url:'/ destroy /'+ this.id},options)); }' – Lukas 2013-02-26 20:17:21

相关问题