嵌套资源销毁操作的适当respond_with
行是什么?
我的路线:
resources :vendors do
resources :products, :except => [:index]
end
产品#stroy(注意@vendor
和@product
找到了before_filter
,此处省略了
def destroy
@product.destroy
respond_with @vendor, @product
end
根据我的功能测试,这将返回/vendors/X/products/X
而不是/vendors/X
我应该将其更改为responed_to @vendor
吗?
答案 0 :(得分:5)
我相信Rails足够聪明,可以理解@product被销毁时该怎么做
respond_with [@vendor, @product]
如果没有,那就试试这个
respond_with @product, :location => vendor_path(@vendor)
答案 1 :(得分:2)
对不起,答案完全错了(误解了你的问题):
您的销毁代码可以是这样的:
def destroy
@product = Product.find(params[:id])
@product.destroy
redirect_to <route method for vendor's products index>, :notice => 'Any message'
end
查看终端中输入rake路线的确切路线。
params [:vendor_id]也应该可用。