2011-04-27 62 views
0

我有產品放入購物車(稱爲「line_items」)刪除項目時「沒有路由匹配。」錯誤,並且我想添加一個按鈕,從購物車減少一些量:試圖從車

3x Coke $2.97 (-) 

下面的代碼爲「( - )」部分:

<%= button_to '(-)', line_item, :confirm => 'Are you sure?', 
:method => :destroy, :product_id => line_item.product_id %> 

我line_item.destroy功能是非常簡單的,它只是遞減量,然後重定向回到主頁。在測試中,當我嘗試按一下按鈕,我得到這個錯誤:

ActionController::RoutingError (No route matches "/line_items/61") 

這樣看來,該系統試圖訪問的URL LINE_ITEM,而不是跟隨破壞功能我已經設置了在控制器中,就像我想的那樣。任何想法如何解決這個問題?

+0

':method'是HTTP動詞,它應該是':delete' – rubyprince 2011-04-27 07:01:13

回答

1

:method是HTTP動詞,它應該是:delete和不:destroy

+0

有趣..所以:方法=>刪除呼叫line_item.destroy ?它是如何跳躍? – raven001 2011-04-27 07:13:01

+0

這是因爲您已將其定義爲'routes.rb'文件中的資源。資源爲您定義了7條路線。你可以叫'耙routes'看到你的應用程序中定義的所有路由。見[鏈接](http://guides.rubyonrails.org/routing.html#crud-verbs-and-actions) – rubyprince 2011-04-27 07:27:07