我在我的 Rails 3.2.14 应用程序中使用friendly_id (4.10.1)和globalize (3.0.0) :
# globalize3
translates :title, :slug
# friendly_id
extend FriendlyId
friendly_id :title, use: [:slugged, :globalize]
当我保存我的输入时,friendly_id 检查蛞蝓碰撞:
SELECT "pages".* FROM "pages" WHERE
("slug" = 'my-title' OR "slug" LIKE 'my-title--%') AND (id <> 1)
ORDER BY LENGTH("slug") DESC, "slug" DESC LIMIT 1
Friendly_id 应该page_translations
为此使用翻译表,因为pages
当您使用多个语言环境时,原始表中的条目有点随机。
这就是问题所在:friendly_id 仅识别一种语言/区域设置的 slug 冲突。
有谁知道如何更改查询以获得全面的全球化支持?非常感谢您!