Wenn Sie daran interessiert sind, eine Zeichenfolge im Fall einer Schlange zu erhalten , funktioniert die vorgeschlagene Lösung nicht ganz, da Sie möglicherweise verkettete Unterstriche und beginnende / nachfolgende Unterstriche erhalten.
Zum Beispiel
1.9.3-p0 :010 > str= " John Smith Beer "
=> " John Smith Beer "
1.9.3-p0 :011 > str.downcase.tr(" ", "_")
=> "__john___smith_beer_"
Diese Lösung unten würde besser funktionieren:
1.9.3-p0 :010 > str= " John Smith Beer "
=> " John Smith Beer "
1.9.3-p0 :012 > str.squish.downcase.tr(" ","_")
=> "john_smith_beer"
Squish ist eine von Rails bereitgestellte String-Methode
str.gsub! /\s/, '_'