lif*_*der 0 ruby-on-rails transliteration friendly-id ruby-on-rails-3
我想实现friendly_id现有的模型.应用程序使用russiangem,它可以很好地处理新的或手动保存的记录,但是当我从命令行更新记录时它似乎不起作用.
User.find_each(&:save)(正如friendly_id docs syggested)生成slu like之类的--<id>.
我使用自定义规范化方法来提供音译slu ::
def normalize_friendly_id(input)
Russian.transliterate input.to_s.mb_chars.downcase
end
Run Code Online (Sandbox Code Playgroud)
但它绝对可能会遗漏一些边缘情况,并处理字符串与"正常"工作流程不同.我正在寻找的是重用常规创建/更新流和本机行为的方法.
解决此问题的最佳方法:
1)在你的Gemfile中添加gem'babosa'
gem 'friendly_id'
gem 'babosa'
Run Code Online (Sandbox Code Playgroud)
2)模型中的Owerride friendly_id方法
def normalize_friendly_id(text)
text.to_slug.transliterate(:russian).normalize.to_s
end
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
1132 次 |
| 最近记录: |