2014-09-22 50 views
0

正在修補我的Rails應用程序,並傷心地破壞了我的刪除項目功能。不知道是什麼讓它誤入歧途,但它不再獲取有關在數據庫的ajax調用中點擊的項目的數據。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" 

我在控制器破壞方法:

def destroy 
    Band.delete(params[:id]) 
    render nothing: true, status: 200 
    end 

我不知道是否有人能幫助我弄清楚爲什麼會出現在路徑返回沒有JSON數據:/bands/favorites/29,因此無法刪除。

回答

0

正如服務器錯誤提示的那樣,404的原因是你的路由。取而代之的

get "bands/favorite/:id" => "bands#destroy"

嘗試:

delete "bands/favorite/:id" => "bands#destroy"

+0

的get是必要的,但添加到文件刪除路由工作。 – PanicBus 2014-09-22 05:45:25

相關問題