我需要一个坚持全球参考透明实用方法的地方。这些应该可以从rails(模型,视图,控制器和其他任何地方)的任何地方访问。 e.g:
bool = GlobalUtilities.to_bool "false"
unicorn = GlobalUtilities.make_me_a "unicorn"
最好的方法是什么?
答案 0 :(得分:10)
你总是可以将它们粘贴在/lib
中并要求它们。请参阅bricker's answer - 您可以要求从application.rb
加载这些模块,这样就可以随处访问这些模块。
答案 1 :(得分:3)
我会为您希望实现的每个行为创建一个描述性命名的文件,并在/ lib(或者更好的是引擎)中收集它们。然后,将您想要的功能混合到您希望扩展的类中。例如,在您描述的方案中,您可以直接向parse_boolean
添加String
方法。漂亮的东西。
/lib/add_parse_boolean_to_string.rb
class String
def parse_boolean
self == 'true' # or whatever...
end
end