/ / this.model.destroy не прави нищо - node.js, backbone.js, гръбнак-изгледи, гръбнак-модел

this.model.destroy не прави нищо - node.js, backbone.js, гръбнак-изгледи, гръбнак-модел

Опитвам се да премахна изглед, след като потребителят кликневърху нещо и след това също изтрийте модела, свързан с този изглед. Успешно премахвам модела, но методът this.model.destroy не изпраща заявки за сървър?

Ето как изглежда кодът ми:

PostsApp.Models.Post = Backbone.Model.extend({
url : "/tweet",
defaults:{
name: "",
adress: "",
pictureUrl: "",
postListing: "",
comments: ""
}
});

PostsApp.Collections.Posts = Backbone.Collection.extend({
model: PostsApp.Models.Post,
url: "/tweet"
});

PostsApp.Views.Post = Backbone.View.extend({
template: _.template($("#post-template").html()),

events: {
"click img": "removeit"
},

removeit: function(){
this.remove();
this.model.destroy();
},

render: function(){
this.$el.html(this.template(this.model.toJSON()));
}

});

Използвам Express от страна на сървъра и как трябва да се справя с искането за изтриване на HTTP в страната на сървъра? Но изглежда, че не се изпраща заявка?

редактиране:

Така че постигнах малък напредък, промених модела си на:

PostsApp.Models.Post = Backbone.Model.extend({
urlRoot : "/tweet",
idAttribute: "_id",
defaults:{
name: "",
adress: "",
pictureUrl: "",
postListing: "",
comments: ""
},
kill: function(){
this.destroy({success: function(model, response) {
console.log("sucess");
}});
}
});

и моят сървър от страна на рутера е настроен така, че да обработва заявката:

app.delete("/tweet/:id"), function(req,res){
};

Сега заявка за изтриване се изпраща като: DELETE / tweet / 51b2548ba8568587ea000002 но получавам грешка 404 така: ИЗТРИВАНЕ localhost: 3000 / tweet / 51b2548ba8568587ea000002 404 (Не е намерено)

Отговори:

0 за отговор № 1
app.delete("/tweet/:id"), function(req,res){
};

скобите ми бяха поставени грешно тук ... уау, така че трябваше да бъде:

app.delete("/tweet/:id", function(req,res){
});

странно, че експресът не хвърли грешки ..