我需要复制friendly_id将文本更改为slugs的方式。
我正在将此用于我的应用
text = "random text"
text_gsubed = (value.gsub ' ', '-')
slug = text_gsubed.downcase
但是最近我意识到对于非字母或数字字符的文本,它会产生与firendly_id生成的不同的slug。例如。
text = "random >> text"
text_gsubed = (value.gsub ' ', '-')
slug = text_gsubed.downcase
上面代码生成的slu :: = random->>-text
slug feindly_id生成= random-text
我可能他们有一个内置方法,你可以像text.slug
或text.friendly_id
一样全局使用,如果你安装了gem但我看不到它。我也查看了他们的文件,找到了将字符串转换为slug但无法找到它的方法。
我如何模仿friendly_id正在做什么?
答案 0 :(得分:2)
我可能会查看ActiveSupport :: Inflections#参数化。
在您的情况下,您应该可以致电:
text.parameterize
如果你想与其他参数结合使用,也许你可以做id或其他事情:
[id, title, others].join(' ').parameterize