在Rails应用程序中,我想检查是否定义了一个常量,并在必要时自动加载它。 defined?
运算符返回false直到自动加载发生。定义?用于自动加载类
defined? Foo # => false :(
Foo # => Foo
defined? Foo # => true
我目前的解决方法是这样的:
begin
Foo # try to autoload
true
rescue NameError
false
end
是否有更好的方法来检查,如果一个常量的定义,但如果需要也自动加载它?
的理由要求:
为Rails的Konacha JS测试框架应自动拿起灯具ruby文件(如果存在)。加载应该在Rails的自动加载机制中发生,所以它受益于自动加载(使用config.cache_classes = false
)。
您可能会从解释*为什么*您试图执行此操作中受益。它可能会给你一个更好的答案。 – deefour 2012-08-15 16:52:00
完成。 :) ......... – 2012-08-15 17:14:16