有没有办法覆盖RoR中的.titleize
方法?
例如,titleize
不适用于像TJ Watson这样的名字。它将'tj watson'转换为Tj Watson。我想在其中添加这样的规则。
此外,我不想定义新方法,因为我的代码已经通过它使用.titleize
。如何在titleize
添加功能而无需在整个代码中更改方法调用?
答案 0 :(得分:2)
将一些* .rb文件放在initializers
文件夹中,其中包含以下内容:
# encoding: utf-8
module ActiveSupport
module Inflector
def titleize(word)
# old code for referencing:
# humanize(underscore(word)).gsub(/\b(?<!['’`])[a-z]/) { $&.capitalize }
< your code goes here >
end
end
end