1. ホーム
  2. ruby-on-rails

[解決済み] Ruby on RailsでStringクラスを拡張する場合、どこにコードを書けばいいのでしょうか?

2023-06-06 15:26:06

質問

Ruby on Railsの場合、Ruby on Railsに、以下の名前のメソッドを追加する必要があります。

class String
  def capitalize_first
    # ...
  end
end

で、このファイルはどこに行くべきなのでしょうか? (どのディレクトリとファイル名で、初期化コードは必要ですか?) これはRails 3.0.6プロジェクト用です。

どのように解決するのですか?

私はいつも core_ext ディレクトリを lib ディレクトリを作成します。

を作成します。 イニシャライザー を作成し、カスタムエクステンションを読み込む(例えば config/initializers/core_exts.rb ). そして、その中に以下の行を追加してください。

Dir[File.join(Rails.root, "lib", "core_ext", "*.rb")].each {|l| require l }

のような拡張子を持つようにします。

lib/core_ext/string.rb

class String
  def capitalize_first
    # ...
  end
end