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