我需要一個位置來粘貼全局引用透明的實用程序方法。這些應該可以從rails(模型,視圖,控制器和其他地方)的任何地方訪問。如何在導軌中創建全局實用程序功能
bool = GlobalUtilities.to_bool "false"
unicorn = GlobalUtilities.make_me_a "unicorn"
這樣做的最好方法是什麼?
我需要一個位置來粘貼全局引用透明的實用程序方法。這些應該可以從rails(模型,視圖,控制器和其他地方)的任何地方訪問。如何在導軌中創建全局實用程序功能
bool = GlobalUtilities.to_bool "false"
unicorn = GlobalUtilities.make_me_a "unicorn"
這樣做的最好方法是什麼?
你總是可以將這些貼在/lib
並需要它們。請參閱bricker's answer - 您可以要求從您的application.rb
加載這些模塊,這將使它們無處不在。
如果您正在嘗試向預先存在的數據類型添加功能,Bill的答案並不是一個壞主意。 – varatis
我會做的,你都希望實現每個行爲描述性名稱的文件,並在/ lib下收集他們(或更好,但發動機)。然後,將所需的功能混合到您希望擴展的課程中。例如,在您描述的場景中,您可以直接將parse_boolean
方法添加到String
。漂亮的東西。
/lib/add_parse_boolean_to_string.rb
class String
def parse_boolean
self == 'true' # or whatever...
end
end
你想說'GlobalUtilities.make_me_a 「煎餅」'或'只是make_me_a 「煎餅」'? –