我正在寻找能够继续使用重定向的最佳实践解决方案:在成功销毁操作后返回,因为可以从各种列表中删除许多项目.
不幸的是,当从项目视图本身启动删除时,该策略失败了.
你对这种情况有什么看法?
如果项目从其自己的视图页面中删除,您需要考虑您想要的行为.
我建议使用以下两种方法之一:
保留您的redirect :back,并在请求的资源不再存在时实现某种第二次重定向 - 即/products/10重定向到/products
@product = Product.find_by_id(params[:id]) # although I admit I'm not sure
redirect_to products_path unless @product # about this
Run Code Online (Sandbox Code Playgroud)
如果特定路径与被破坏的路径匹配,则更改重定向
@product.destroy # you might need to save the path before you destroy the object..
redirect_to :back and return unless request.referrer == product_path(@product)
redirect_to products_path
Run Code Online (Sandbox Code Playgroud)
我不认为这种情况有一个固定的标准,但我可以纠正.
| 归档时间: |
|
| 查看次数: |
1638 次 |
| 最近记录: |