我有一个简单的列表式 Backbone 应用程序,我正在使用 Rails 后端制作它。
我有一个收藏:
var ItemList = Backbone.Collection.extend({
model: Item,
initialize: function(id) {
this.id = id;
},
url: function(){
return '/lists/' + this.id + '/items';
},
});
所有标准 CRUD 操作在模型中都可以正常工作。但我有一条“额外”路线 - “清除”,它将在一场演出中清除列表中的所有项目。路线是:
/lists/[:id]/clear
因为这超出了正常的 CRUD 操作,有没有办法将其挂接到正常的集合中,或者我需要做一些单独的事情?
最佳答案
您可以在集合上创建一个名为 destroy
的方法,在其中您可以采用多种方法之一来发出 AJAX 请求(按照与 Backbone 协调的顺序)。请注意,您可能不想调用集合方法 clear
,因为 Backbone 模型已经具有具有不同语义的 clear
方法。
- 使用正确的 URL 和 ID 创建一个一次性
Backbone.Model
实例,然后对其调用“destroy” - 使用“delete”方法和一个仅包含“url”属性的一次性模型对象以及具有正确 ID 的空“toJSON”函数调用 Backbone.sync
- 直接进行 jQuery
$.ajax
调用。
关于javascript - 主干一次性ajax请求,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10666216/