2012-09-06 56 views
2

我需要一個位置來粘貼全局引用透明的實用程序方法。這些應該可以從rails(模型,視圖,控制器和其他地方)的任何地方訪問。如何在導軌中創建全局實用程序功能

bool = GlobalUtilities.to_bool "false" 
unicorn = GlobalUtilities.make_me_a "unicorn" 

這樣做的最好方法是什麼?

+2

你想說'GlobalUtilities.make_me_a 「煎餅」'或'只是make_me_a 「煎餅」'? –

回答

10

你總是可以將這些貼在/lib並需要它們。請參閱bricker's answer - 您可以要求從您的application.rb加載這些模塊,這將使它們無處不在。

參見:Rails lib directory

+0

如果您正在嘗試向預先存在的數據類型添加功能,Bill的答案並不是一個壞主意。 – varatis

3

我會做的,你都希望實現每個行爲描述性名稱的文件,並在/ lib下收集他們(或更好,但發動機)。然後,將所需的功能混合到您希望擴展的課程中。例如,在您描述的場景中,您可以直接將parse_boolean方法添加到String。漂亮的東西。

/lib/add_parse_boolean_to_string.rb

class String 

    def parse_boolean 
    self == 'true' # or whatever... 
    end 

end 
相關問題