Ruby on rails RubyonRails中的重写titleize方法
有没有办法覆盖RoR中的Ruby on rails RubyonRails中的重写titleize方法,ruby-on-rails,Ruby On Rails,有没有办法覆盖RoR中的.titleize方法 例如,titleize不适用于像TJ Watson这样的名字。它将“tj watson”转换为tj watson。我想增加这样的规则 另外,我不想定义新方法,因为我的代码已经通过它使用了.titleize。如何在不必在整个代码中更改方法调用的情况下向标题化添加功能?将一些*.rb文件放入初始值设定项文件夹,其中包含以下内容: # encoding: utf-8 module ActiveSupport module Inflector
.titleize
方法
例如,titleize
不适用于像TJ Watson这样的名字。它将“tj watson”转换为tj watson。我想增加这样的规则
另外,我不想定义新方法,因为我的代码已经通过它使用了
.titleize
。如何在不必在整个代码中更改方法调用的情况下向标题化添加功能?将一些*.rb文件放入初始值设定项
文件夹,其中包含以下内容:
# 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
编码:utf-8
模块动态支持
模拐点
def标题(word)
#用于引用的旧代码:
#人性化(下划线(word)).gsub(/\b(?问题:当我编写此代码时,我得到以下信息:/config/initializers/endocations.rb:16:语法错误,意外$end,应为“')…erscore(word)).gsub(/\b(?您是否将#encoding:utf-8
行放在文件的最开头?这是一个神奇的注释。它必须在那里。太好了。我必须删除一个类似撇号的字符才能工作。问题:如果我想在字符串中留下破折号(-),我该如何做?例如,当前的“james franklin howard”。titleize=>“詹姆斯·富兰克林·霍华德”…我怎样才能得到詹姆斯·富兰克林·霍华德?