我目前有一个包含客户名称的字符串,我正在使用:
@customer_name = @customer_name.titlecase
但这似乎有点啰嗦。当我尝试做的时候:
@customer_name.titlecase!
我得到一个no方法错误。 titlecase!
是否存在?看起来很奇怪,没有办法做到这一点,因为例如有一个downcase!
。
答案 0 :(得分:1)
你可以在http://as.rubyonrails.org/classes/ActiveSupport/CoreExtensions/String/Inflections.html#M000381上看到所有标题都是这样的(也注意没有爆炸方法)
def titleize
Inflector.titleize(self)
end
所以,如果你想实现这个是
class String
def titleize!
replace titleize
end
end
然后:
>> the_string = "oh hai"
=> "oh hai"
>> the_string.titleize!
=> "Oh Hai"
>> the_string
=> "Oh Hai"
答案 1 :(得分:0)
有或没有爆炸的downcase是Ruby方法。标题不是。也许,这就是它没有爆炸版本的原因。 Rails开发人员可能没有费心去定义爆炸版本。