【发布时间】:2014-01-02 20:22:41
【问题描述】:
我对 RoR 还是很陌生,遇到了一个我似乎无法解决的问题。我已经构建了将新产品添加到数据库并允许用户将单个项目添加到他们的购物车的功能,我的删除方法只是给我一个错误,说它在 carts_controller 中找不到删除方法。任何帮助将不胜感激。
\app\views\cart\show.html.erb
<%= button_to 'Empty Cart', @cart, method: :delete,
data: { confirm: 'are you sure?'} %>
\app\controllers\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 的“销毁”操作
\config\routes.rb
Depot::Application.routes.draw do
root 'store#index', as: 'store'
resources :line_items
resources :carts
get "store/index"
resources :products
end
【问题讨论】:
-
显示您的路线 - 很可能您没有链接到那里的操作。 (经典 Rails 会神奇地从控制器中抓取每个动作。由于它造成的令人难以置信的混乱,该方案已被丢弃。)
-
更新显示我的 routes.rb 文件
标签: ruby-on-rails e-commerce shopping-cart