正在修补我的Rails应用程序,遗憾地破坏了我的删除项功能。不确定是什么让它误入歧途,但它不再在ajax调用数据库时获得有关被点击项目的数据。
在我的控制台中出现此错误
DELETE http://localhost:3000/bands/favorite/29 404 (Not Found)
这是我的Rails服务器:
Started DELETE "/bands/favorite/29" for 127.0.0.1 at 2014-09-21 19:15:19 -0700
ActionController::RoutingError (No route matches [DELETE] "/bands/favorite/29"):
这是我的jQuery删除函数,带有ajax调用:
$('.remove_favorite').click(function(event){
var id = $(this).attr("data-id");
$.ajax({
url: "/bands/favorite/"+id,
method: "DELETE",
data: id
}).done(function(){
$('.list-item[data-id='+ id +']').fadeOut(1000, function(e){
$(this).remove();
});
})
});
并将其作为我删除方法的路径:
get "bands/favorite/:id" => "bands#destroy"
我在控制器中的destroy方法:
def destroy
Band.delete(params[:id])
render nothing: true, status: 200
end
我想知道是否有人可以帮我弄清楚为什么路径上没有返回JSON数据:/bands/favorites/29
因此无法删除。
答案 0 :(得分:0)
根据服务器错误的建议,404的原因是您的路线。而不是
get "bands/favorite/:id" => "bands#destroy"
尝试:
delete "bands/favorite/:id" => "bands#destroy"