0

我需要转:

"First Name".some_method = "first_name"

我想我可以只使用正则表达式,但想知道是否有更好的东西。我试过了constantize,和humanize,这与我需要完成的几乎相反:

"first_name".humanize = "First name"
4

5 回答 5

1
"First Name".gsub(/\s+/, '_').downcase
# => "first_name" 
于 2013-08-28T13:02:19.113 回答
1
"First Name".parameterize.underscore # => first_name
于 2013-08-28T14:05:58.110 回答
-1
  irb(main):017:0> "First Name".downcase.gsub(' ', '_')
  => "first_name"
于 2013-08-28T13:14:18.693 回答
-1
require 'active_support/core_ext'

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

不过,我找不到单一的方法。

于 2013-08-28T12:56:58.080 回答
-1

然后使用String#tr如下:

"First Name".tr(" ", '_').downcase
# => "first_name"
于 2013-08-28T13:14:34.143 回答