Ruby on rails 自动生成具有友好id的易读西里尔语蛞蝓

Ruby on rails 自动生成具有友好id的易读西里尔语蛞蝓,ruby-on-rails,ruby-on-rails-3,friendly-id,transliteration,Ruby On Rails,Ruby On Rails 3,Friendly Id,Transliteration,我想在现有模型中实现友好的\u id。应用程序使用俄语gem,它可以很好地处理新记录或手动保存的记录,但当我从命令行更新记录时,它似乎不起作用 User.find\u each(&:save)(作为友好的\u id文档系统)生成类似--的slug 我使用自定义规范化方法来提供音译slug: def normalize_friendly_id(input) Russian.transliterate input.to_s.mb_chars.downcase end 但它肯定会遗漏一些边缘情况

我想在现有模型中实现
友好的\u id
。应用程序使用
俄语
gem,它可以很好地处理新记录或手动保存的记录,但当我从命令行更新记录时,它似乎不起作用

User.find\u each(&:save)
(作为友好的\u id文档系统)生成类似
--
的slug

我使用自定义规范化方法来提供音译slug:

def normalize_friendly_id(input)
  Russian.transliterate input.to_s.mb_chars.downcase
end

但它肯定会遗漏一些边缘情况,并且处理字符串的方式与“正常”工作流不同。我正在寻找的是重用常规创建/更新流和本机行为的方法。

解决此问题的最佳方法:

1)添加您的GEM文件

gem 'friendly_id'
gem 'babosa'
2)Owerride friendly\u id在您的模型中的方法

def normalize_friendly_id(text)
  text.to_slug.transliterate(:russian).normalize.to_s
end

解决此问题的最佳方法是:

1)添加您的GEM文件

gem 'friendly_id'
gem 'babosa'
2)Owerride friendly\u id在您的模型中的方法

def normalize_friendly_id(text)
  text.to_slug.transliterate(:russian).normalize.to_s
end

现在是
text.to_slug.translation(:俄语)。normalize.to_s
现在是
text.to_slug.translation(:俄语)。normalize.to_s