2013-08-28 26 views
0

我需要打開:如何將字詞序列轉換爲屬性?

"First Name".some_method = "first_name" 

我想我可以只使用正則表達式,但想知道是否有更好的東西。我試過constantizehumanize,這是相當多的東西,我需要完成相反:

"first_name".humanize = "First name" 

回答

-1
require 'active_support/core_ext' 

"First Name".gsub(/\s/, '').underscore # => "first_name" 

我沒能找到一個方法,雖然。

1
"First Name".gsub(/\s+/, '_').downcase 
# => "first_name" 
+1

爲什麼downvote?好像有人低估了所有的答案。 – Santhosh

+0

我沒有downvote,但他正在尋找一個沒有正則表達式的解決方案,你提供了一個正則表達式的答案。也許這就是downvote的原因。 – Mischa

-1
irb(main):017:0> "First Name".downcase.gsub(' ', '_') 
    => "first_name" 
+0

爲什麼要投票? ..誰給了反對票? –

-1

使用則String#tr如下:

"First Name".tr(" ", '_').downcase 
# => "first_name" 
+0

你是孟加拉人嗎?... – 2013-08-28 13:18:18

1
"First Name".parameterize.underscore # => first_name 
相關問題