我对 Rails 还很陌生,正在尝试弄清楚如何将方法添加到 String 类,并让我的部分代码知道 String 类已添加到其中。我不确定我应该把require语句放在哪里。
问问题
263 次
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 回答