RoR清空推车/删除line_Items

时间:2014-01-02 20:22:41

标签: ruby-on-rails e-commerce shopping-cart

我仍然是RoR的新手,遇到了一个我似乎无法解决的问题。我已经构建了将新产品添加到数据库并允许用户将单个项目添加到购物车的功能,我的删除方法只是给我一个错误,说它无法在carts_controller中找到删除方法。任何帮助将不胜感激。

\应用\视图\购物\ show.html.erb

<%= button_to 'Empty Cart', @cart, method: :delete,
    data: { confirm: 'are you sure?'} %>

\应用\控制器\ carts_controller.rb

def destroy
 @cart.destroy if @cart.id == session[:cart_id]
 session[:cart_id] = nil
 respond_to do |format|
   format.html { redirect_to store_url,
     notice: 'Your cart is empty' }
  format.json { head :no_content }
  end
end

private
def set_cart
  @cart = Cart.find(params[:id])
end

给出错误信息

  

未知行动
  CartsController

找不到动作'destroy'

\设置\ routes.rb中

Depot::Application.routes.draw do

root 'store#index', as: 'store'
resources :line_items
resources :carts
get "store/index"
resources :products

end

1 个答案:

答案 0 :(得分:0)

取决于您@cart变量中当前设置的内容,您可以对其进行检查吗?

否则,您也可以尝试这样的事情:

<%= link_to 'Empty Cart', cart_path(@cart), method: :delete, confirm: 'are you sure?' %>