我想將字符串轉換NoMethodError爲下劃線
"Full Time"
到
"full_time"
當我使用IRB 「全職」 .underscore,它提示錯誤
NoMethodError: undefined method `underscore' for "Full Time":String
我該如何解決它?或者有沒有其他的方法可以讓我得到上面強調的結果?
我想將字符串轉換NoMethodError爲下劃線
"Full Time"
到
"full_time"
當我使用IRB 「全職」 .underscore,它提示錯誤
NoMethodError: undefined method `underscore' for "Full Time":String
我該如何解決它?或者有沒有其他的方法可以讓我得到上面強調的結果?
有一個叫下劃線軌的輔助方法。如果您炒掉軌控制檯(腳本/控制檯),你將能夠使用它:
"FullTime".gsub(/\s+/,'').underscore.to_sym
:full_time
所以,我認爲你應該做的是,除去空間,然後應用上述方法。請注意,我添加to_sym只是爲了表明它也是可能的,但如果您不需要它,只需將其刪除即可。
請注意,它是一個rails helper,而不是String類的ruby方法。它只會在軌道環境中運作。
你可以使用GSUB和替換所有空格強調
irb(main):008:0> "Full Time".downcase.gsub(/\s+/,"_")
=> "full_time"
它運作良好。謝謝哥們。 :) – 2010-04-21 08:48:18
oooo我忘了這是一個鐵軌助手,但我測試了它在IRB -_- || 感謝提醒我的朋友。 :) – 2010-04-21 08:48:50