2013-04-30 49 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

相关问题