我有一个要销毁的主干模型,但没有随请求发送参数,因此服务器返回“未找到删除 404”错误。
我承认我的结构有点奇怪,因为我根据它们是否已经在列表中来创建/销毁这些项目。
var list_item = new MyApp.Models.ListItem({item_id: this.model.id, group_id: this.model.group_id});
if($(e.currentTarget).hasClass('add')){
列表项。保存(列表项,{
成功:函数(响应){
this.model.attributes. addedtolist_id = response.id
控制台.log(this.model);
},
错误:函数(){
alert('无法保存项目');
}
});
} else if($(e.currentTarget).hasClass('remove')) {
list_item.id=this.model.addedtolist_id;
list_item.attributes.id = this.model.addedtolist_id;
控制台.log(list_item);
list_item.destroy({
成功:函数(){
警报(“删除”);
},
错误:函数(){
alert('不能取消选中');
}
});
}
list_item销毁前的控制台输出是
_escapedAttributes:对象 _previousAttributes: 对象 _设置:假 属性:对象 编号:2 item_id: 66 group_id:64 __proto__: 对象 cid:“c23” 编号:2 __proto__: q
但是当我查看与删除请求一起发送的标头时,我没有发送任何参数。
------------更新参数正在发送,404仍在返回--------------
根据 Yaroslav 的建议,我在 destroy 方法中添加了一个“标题”,但我的 rails 控制器仍然返回DELETE 404 not found错误。我只是想退回列表项,以确保在销毁它之前得到正确的列表项。
我的控制器是
定义破坏 listitem = Listitem.find(params[:id]) 返回渲染:json => listitem 结尾