我怎么能用漂亮的方式写这个?

时间:2016-06-03 20:55:43

标签: ruby-on-rails

现在我有这个代码: @category.name.gsub(' ', '-').gsub('--','-').gsub('--','-')

id是做什么的: 如果我有名称为sometext sometext的类别,则会将所有空格字符更改为-短划线字符。 sometext-someteext(我将其用于网址建设)

.gsub('--','-').gsub('--','-') - 这个部分我需要的是名字之类的情况 sometext - sometext因此,如果没有此部分,我的方法会向我提供错误的输出,例如sometext---sometext

那么将3个gsubs重写为一个更优雅的方法是什么?

2 个答案:

答案 0 :(得分:0)

正规救援:

.gsub(/ \-+ /, ' - ')

答案 1 :(得分:0)

ActiveSupport :: Inflector包含parameterize,这对于构建网址更为通用。

> 'sometext - sometext'.parameterize
=> "sometext-sometext"