我读到的关于猴子修补的一切都说要做这样的事情:
class String def foo #your special code end end
但我找不到任何关于放置此代码的说明.在rails应用程序中,我可以把它放在我想要的任何疯狂的地方吗?在模块中?一个模型?
我是否需要在我定义monkeypatch的文件中包含一些内容?我是否需要在我想要使用它的地方包含我的monkeypatch?
对此没有固定的规则.从技术上讲,你可以在任何地方打开它(类;并添加你的方法).我通常会调用一个特殊的文件monkey_patches.rb
并将其放入我的Rails应用程序中config/initializers
或misc
文件夹中,所以如果有冲突,我知道在哪里查看.
另外我建议使用a Module
来包裹猴子补丁.查看3种方法来修补猴子而不会弄得一团糟以获取更多信息.
他的榜样:
module CoreExtensions module DateTime module BusinessDays def weekday? !sunday? && !saturday? end end end end DateTime.include CoreExtensions::DateTime::BusinessDays