.titleizeRoRのメソッドをオーバーライドする方法はありますか?
たとえば、titleizeTJワトソンのような名前では機能しません。'tjwatson'をTjWatsonに変換します。そのようなルールを追加したいと思います。
また、私のコードはすでにメソッドを使用.titleizeしているため、新しいメソッドを定義したくありません。titleizeコード全体でメソッド呼び出しを変更せずに機能を追加するにはどうすればよいですか?
.titleizeRoRのメソッドをオーバーライドする方法はありますか?
たとえば、titleizeTJワトソンのような名前では機能しません。'tjwatson'をTjWatsonに変換します。そのようなルールを追加したいと思います。
また、私のコードはすでにメソッドを使用.titleizeしているため、新しいメソッドを定義したくありません。titleizeコード全体でメソッド呼び出しを変更せずに機能を追加するにはどうすればよいですか?
initializers次の内容の*.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
また、このアプローチを確認してください:https ://stackoverflow.com/a/10471857/1322562 。