我仍然是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
给出错误信息
未知行动
找不到动作'destroy'
CartsController
\设置\ routes.rb中
Depot::Application.routes.draw do
root 'store#index', as: 'store'
resources :line_items
resources :carts
get "store/index"
resources :products
end
答案 0 :(得分:0)
取决于您@cart
变量中当前设置的内容,您可以对其进行检查吗?
否则,您也可以尝试这样的事情:
<%= link_to 'Empty Cart', cart_path(@cart), method: :delete, confirm: 'are you sure?' %>