2016-07-05 66 views
0

我想使用表數據旁邊的鏈接刪除存儲在表中的記錄。我想出的錯誤是:Ruby on Rails-使用鏈接銷燬記錄

沒有路由匹配[GET] 「/ carlogs /銷燬」

我破壞方法:包含視圖代碼的

def destroy 
@carlog= CarLog.find(params[:id]) 
@carlog.destroy() 

redirect_to show_path(@carlog) 
end 

部分刪除鏈接:

<% @carlogs.each do |car| %> 
<tr> 
<td><%= car.id %></td> 
<td><%= car.plate_number %></td> 
<td><%= car.brand %></td> 
<td><%= car.slot_number %></td> 
<td><%= car.is_taken %></td> 
<td><%= car.created_at %></td> 
<td><%= link_to "Delete", show_path(car), method: :delete, data: 
     {confirm: "Are you sure?"} %> 
</tr> 
<% end %> 
+0

運行'rake routes'來查看刪除對象的正確路徑。 – mrvncaragay

回答

1

確保您有delete REST方法:

DELETE /carlogs/:id(.:format)      carlogs#destroy 

而在你application.js你必須有這樣一行:

//= require jquery_ujs 
0

使用破壞鏈接,銷燬記錄,然後重定向表像

方法

def destroy 
@carlog= CarLog.find(params[:id]) 
@carlog.destroy() 

redirect_to show_path(@carlog) #-> Table pathe 
end 

的routes.rb

delete 'destroy' => 'carlogs#destroy' 

查看

<%= link_to "Delete", destroy_path, method: :delete, data: 
    {confirm: "Are you sure?"} %> 

我想會幫助你

0

你爲什麼寫show_path(汽車)?

也許你的意思是car_path(汽車)?你

<%= link_to "Delete", car_path(car), method: :delete, data: {confirm: "Are you sure?"}%>

也應該檢查你的路線[GET] "/carlogs/destroy。 我認爲這不會出現在​​