RailsでStringクラスに新しいメソッドを追加するにはどうすればいいですか?質問する

RailsでStringクラスに新しいメソッドを追加するにはどうすればいいですか?質問する

Rails プロジェクト内のさまざまなオブジェクトのインデックスを構築し、String オブジェクトで呼び出すことができる 'count_occurences' メソッドを追加したいと考えています。

私はこんなことができると知りました

class String
  def self.count_occurences
    do_something_here
  end
end

このメソッドを定義する正確な方法と、Rails プロジェクトのどこにコードを配置すればよいのでしょうか?

ありがとう

ベストアンサー1

アプリケーションで新しいクラスを定義しlib/ext/string.rb、その中に次のコンテンツを配置できます。

class String
  def to_magic
    "magic"
  end
end

このクラスをロードするには、ファイルまたは初期化子でそれを require する必要がありますconfig/application.rb。これらの拡張機能が多数ある場合は、初期化子の方が適しています。ロード方法は簡単です。

require 'ext/string'

このto_magic方法は、インスタンスStringアプリケーション/コンソール内のクラスの、例:

>> "not magic".to_magic
=> "magic"

プラグインは必要ありません。

おすすめ記事