狂欢产品的弹头问题

Slug issue on spree product

我遇到了一个问题,就是编辑了一个产品 slug,然后产品就不再打开了。重现步骤 -

1) 在 Spree 产品上添加自定义 slug 字段

2) 编辑产品

3) 更新 slug

4) 显示页面显示未找到产品

在进一步挖掘时,由于没有进行正确的重定向,因此 url 中出现了 slug。

我通过制作装饰器覆盖了产品编辑控制器

Spree::Admin::ProductsController.class_eval do

    def edit
       @product = Spree::Product.friendly.find(params[:id])
    end
end

slug 也在数据库中更新,但我认为在 slug 被添加到 url 后它不会重定向。在这方面的任何帮助将不胜感激。

好的,这个问题已经解决了,是如何解决的。 friendly_id 似乎对其最新版本做了一些更改,您还需要遵循这些更改才能使用 spree 。以下是我所做的改变

之前

 friendly_id :name, use: [:slugged, :history]

之后

friendly_id :name, use: [:slugged, :finders]