我正在尝试将@ product.destroy之后的商品重定向到category_products,但无法获取:category_id。我不知道如何在没有:category_id的情况下重定向回product#index。以下是我的products_controller.rb,耙路径和错误消息-任何人都知道快速修复方法?
products_controller.rb(破坏)
def destroy
@category = Category.find(params[:category_id])
@product = Product.find(params[:id])
@product.destroy
respond_to do |format|
format.html { redirect_to category_products_path(@category), notice: 'Pro$
format.json { head :no_content }
end
end
耙道:
category_products GET /categories/:category_id/products(.:format) products#index
错误:“没有ID找不到类别”
答案 0 :(得分:0)
如果查看参数,则会发现没有params[:category_id]
,因为您使用的是浅层嵌套。
尝试更多类似的东西:
def destroy
@product = Product.find(params[:id])
@category = @product.category
@product.destroy
respond_to do |format|
format.html { redirect_to category_products_path(@category), notice: 'Pro$
format.json { head :no_content }
end
end
这自然是假设Product belongs_to :category
。
(我忽略了结尾的$
,因为您的编辑器或复制粘贴似乎有些问题。)