2013-04-30 29 views
1

我想確保在Rails應用程序啓動時有一個env var集。如何防止Rails應用程序啓動?

如果未設置env,如何防止Rails應用程序啓動?

if ENV[ 'CONFIG_VAR' ].blank? 
    puts 'Cannot start without setting CONFIG_VAR' 
    ... 
end 

另外,哪裏是放這段代碼的好地方?

回答

3

你總是可以引發異常。

if ENV[ 'CONFIG_VAR' ].blank? 
    fail 'Cannot start without setting CONFIG_VAR' 
end 

儘管設置默認值並打印警告可能更好。

if ENV[ 'CONFIG_VAR' ].blank? 
    warn 'CONFIG_VAR not set! Defaulting to x' 
    ENV['CONFIG_VAR'] = x 
    ... 
end 
+0

雖然這對於一些部署環境下工作,它不會對Heroku的工作,因爲ENV不是塞在編譯過程中可用... – 2013-05-01 03:40:40

+0

這可能是真的,但那是超過了這個問題的一個弱點回答。一般來說,這可能不是一個好主意,因爲僅僅因爲環境變量丟失而導致Rails應用程序無法啓動。 – davogones 2013-05-01 03:43:04

相關問題