我需要转:
"First Name".some_method = "first_name"
我想我可以使用正则表达式,但想知道是否有更好的东西。我尝试了constantize
和humanize
,这与我需要完成的事情完全相反:
"first_name".humanize = "First name"
答案 0 :(得分:1)
"First Name".gsub(/\s+/, '_').downcase
# => "first_name"
答案 1 :(得分:1)
"First Name".parameterize.underscore # => first_name
答案 2 :(得分:-1)
require 'active_support/core_ext'
"First Name".gsub(/\s/, '').underscore # => "first_name"
但是,我无法找到单一方法。
答案 3 :(得分:-1)
irb(main):017:0> "First Name".downcase.gsub(' ', '_')
=> "first_name"
答案 4 :(得分:-1)
然后使用String#tr
,如下所示:
"First Name".tr(" ", '_').downcase
# => "first_name"