0

私はRailsにかなり慣れていないので、Stringクラスにメソッドを追加する方法を理解し、Stringクラスが追加されたことを部分的なコードに認識させようとしています。requireステートメントをどこに置くべきかわかりません。

4

2 に答える 2

3

lib/monkeypatch.rb

class String
  def some_new_func
    ...
  end
end

アプリ/コントローラー/application.rb:

require "monkeypatch"

(または、特定のコントローラーにのみモンキーパッチが必要な場合は、そのコントローラーに require を入れます)。

関連項目: Rails /lib モジュールと

于 2010-01-17T05:42:58.793 に答える
2

Rails を使ったことがないので、これを行うための「より良い」方法があるかどうかはわかりませんが、respond_to? メソッド、次のように:

# extend String class to add new method
class String
  def some_new_func; end
end

# check to see if a String instance has
# that method available
if "test".respond_to? :some_new_func
  puts "Works!"
else
  puts "Doesn't work."
end

# => "Works!"
于 2010-01-17T05:40:40.323 に答える