我们的应用程序使用参数化版本的页面名称自动生成页面URL。例如:
http://www.domainname.com/this-is-the-page-name
简单。工作正常,除非页面名称使用西里尔字符,参数大小方法返回一个空字符串:
"Пробна галерия".parameterize
我一直在网上挖掘如何处理这个问题,我发现的建议指向了音译技术。想知道是否有一种简单明了的处理方式。
答案 0 :(得分:0)
尝试使用gsub:
irb> "Пробна галерия".gsub!(/\s/,'-')
=> "Пробна-галерия"
答案 1 :(得分:0)
试试这个:
def to_slug
# http://stackoverflow.com/questions/1302022/best-way-to-generate-slugs-human-readable-ids-in-rails
#strip the string
ret = self.strip
#replace all whitespaces and underscores to dashes
ret.gsub!(/[\s_]+/, '-')
#replace all non alphanumeric, non dashes with empty string
ret.gsub! /\s*[^A-Za-z0-9А-Яа-я\-]\s*/, ''
#convert double dashes to single
ret.gsub! /-+/,"-"
#strip off leading/trailing dashes
ret.gsub! /\A[-]+|[-]+\z/,""
ret
end