有没有办法覆盖.titleize
RoR 中的方法?
例如,titleize
不适用于 TJ Watson 之类的名称。它将“tj watson”转换为 Tj Watson。我想在其中添加这样的规则。
另外,我不想定义一个新方法,因为我的代码已经.titleize
通过它使用了。如何在titleize
无需更改整个代码中的方法调用的情况下添加功能?
有没有办法覆盖.titleize
RoR 中的方法?
例如,titleize
不适用于 TJ Watson 之类的名称。它将“tj watson”转换为 Tj Watson。我想在其中添加这样的规则。
另外,我不想定义一个新方法,因为我的代码已经.titleize
通过它使用了。如何在titleize
无需更改整个代码中的方法调用的情况下添加功能?
将一些 *.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
还要检查这种方法:https ://stackoverflow.com/a/10471857/1322562 。