我是Rails的新手,我正在试图弄清楚如何在String类中添加一个方法,并让我的部分代码知道已经添加了String类。我不确定应该在哪里提出要求声明。
答案 0 :(得分:3)
LIB / monkeypatch.rb
class String
def some_new_func
...
end
end
应用程序/控制器/ application.rb中:
require "monkeypatch"
(或者,如果您只想要特定控制器的monkeypatch,请将require放在该控制器中)。
答案 1 :(得分: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!"