我需要一个位置来粘贴全局引用透明的实用程序方法。这些应该可以从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 “煎饼”'? –