0

我对 Rails 还很陌生,正在尝试弄清楚如何将方法添加到 String 类,并让我的部分代码知道 String 类已添加到其中。我不确定我应该把require语句放在哪里。

4

2 回答 2

3

库/猴子补丁.rb

class String
  def some_new_func
    ...
  end
end

应用程序/控制器/application.rb:

require "monkeypatch"

(或者,如果您只想要特定控制器的猴子补丁,请将需求放入该控制器中)。

另请参阅: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 回答