0

有没有办法覆盖.titleizeRoR 中的方法?

例如,titleize不适用于 TJ Watson 之类的名称。它将“tj watson”转换为 Tj Watson。我想在其中添加这样的规则。

另外,我不想定义一个新方法,因为我的代码已经.titleize通过它使用了。如何在titleize无需更改整个代码中的方法调用的情况下添加功能?

4

1 回答 1

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

还要检查这种方法:https ://stackoverflow.com/a/10471857/1322562 。

于 2012-07-08T13:59:52.847 回答