我需要转:
"First Name".some_method = "first_name"
我想我可以只使用正则表达式,但想知道是否有更好的东西。我试过了constantize
,和humanize
,这与我需要完成的几乎相反:
"first_name".humanize = "First name"
我需要转:
"First Name".some_method = "first_name"
我想我可以只使用正则表达式,但想知道是否有更好的东西。我试过了constantize
,和humanize
,这与我需要完成的几乎相反:
"first_name".humanize = "First name"
"First Name".gsub(/\s+/, '_').downcase
# => "first_name"
"First Name".parameterize.underscore # => first_name
irb(main):017:0> "First Name".downcase.gsub(' ', '_')
=> "first_name"
require 'active_support/core_ext'
"First Name".gsub(/\s/, '').underscore # => "first_name"
不过,我找不到单一的方法。
然后使用String#tr
如下:
"First Name".tr(" ", '_').downcase
# => "first_name"