狂欢产品的弹头问题
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]
我遇到了一个问题,就是编辑了一个产品 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]