2010-08-06 69 views
40

在滑軌3中猴子修補程序的首選方法是什麼?在滑軌3中修補猴子3

我只想給String類添加一個方法。我更關注放置文件的位置。

回答

72

初始化程序目錄是收集所有這些小碎片的好地方。由於我傾向於使用核心擴展來進行一些過度工作,因此我喜歡在那裏創建一個名爲「extensions」的文件夾,並將它們全部扔在那裏。

因此,請嘗試/config/initializers/string_extension.rb/config/initializers/extensions/string.rb或類似的東西。無論哪種方式,你可以在之後忘記它們 - Rails會爲你要求它們,所以你不需要自己去做。

+0

您也可以按照這個博客整理它們,使得更容易調試和維護猴子補丁:http://www.justinweiss.com/blog/2015/01/20/3-ways-to-monkey-patch-without-使-A-亂七八糟/ – 2015-06-23 00:15:56

0

如果是類特定的,你可以重新定義你所需要的類的方法。否則,它完全取決於你想使用你的字符串方法的應用程序的哪一部分。 作爲打開一個類來重新定義方法的示例:http://codepad.org/Cj1LHmQj 但是,您可能已經知道您可以這樣做。

+0

如果您希望您的字符串方法在許多地方可用,請考慮一個模塊並將其放在lib目錄中,包括必要的地方。 – 2010-08-06 02:55:08