我正面临编辑产品slug的问题,然后产品再次开放。重现的步骤 -
1)在Spree产品上添加自定义slug字段
2)编辑产品
3)更新slug
4)显示页面显示未找到产品
在进一步挖掘时,由于没有进行适当的重定向,因此slug进入url。
我通过制作装饰
对产品编辑控制器进行了覆盖Spree::Admin::ProductsController.class_eval do
def edit
@product = Spree::Product.friendly.find(params[:id])
end
end
slugs也在数据库中更新,但我认为它不会在url中添加slug后重定向。在这方面的任何帮助将不胜感激。
答案 0 :(得分:1)
好的,所以这个问题已经解决了。似乎friendly_id对它的最新版本进行了一些更改,您需要遵循以及与spree一起使用。以下是我所做的改变
在
friendly_id :name, use: [:slugged, :history]
在
friendly_id :name, use: [:slugged, :finders]