link_to helper方法在生产中不使用friendlyId Gem

时间:2014-05-17 14:05:02

标签: ruby-on-rails ruby friendly-id

奇怪的是它适用于我的开发环境,但是当我部署它时,它会继续链接到产品ID。

我正在使用Rails 4.04和FriendlyId v5 Gem。在我这样做时的发展:

<%= link_to image_tag(product.photos.first.image.url(:feed)), product %>

它会生成一个带有如下链接的图片:

http://localhost:3000/products/my-product-slug

但是当我部署到生产时,相同的代码生成

http://myprodserver.com/products/68

为什么会这样?

1 个答案:

答案 0 :(得分:1)

正如您所讨论的,问题是您显式在模型中生成slug字段。

虽然您已在模型中正确配置FriendlyID - 但在生产中,仍有许多slug字段可能没有价值的产品。在正确访问路径(按预期)之前,您需要为它们生成slu ..

我认为 slug generation 部分是某种回调。所以,在制作中,你可以这样做:

Product.find_each(&:save)创建slu ..

FriendlyID应该可以完美地运作! :)

祝你好运。 :)