Rails使用respond_with destroy动作嵌套资源

嵌套资源销毁操作的相应respond_with行是什么?

我的路线:

 resources :vendors do resources :products, :except => [:index] end 

产品@vendor (注意找到@vendor@product ,其中包含before_filter ,此处省略)

 def destroy @product.destroy respond_with @vendor, @product end 

根据我的function测试,这是返回/vendors/X/products/X而不是/vendors/X

我应该将它更改为只responed_to @vendor吗?

我相信Rails足够聪明,可以理解如果@product被破坏该怎么办

 respond_with [@vendor, @product] 

如果没有,那就试试吧

 respond_with @product, :location => vendor_path(@vendor) 

对不起,答案是完全错误的(误解了你的问题):

你的破坏代码可以是这样的:

 def destroy @product = Product.find(params[:id]) @product.destroy redirect_to , :notice => 'Any message' end 

查看终端中输入rake路线的确切路线。

params [:vendor_id]也应该可用。