在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