我有一个要销毁的主干模型,但没有随请求发送参数,因此服务器返回“未找到删除 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 结尾