如何检测我的代码是否在Rails 3的控制台中运行?

我在初始化程序中有这个代码:

if $0 == 'irb' # ... end 

它在Rails 2.3中工作正常,但是在Rails 3中,$ 0的值是'script / rails',不pipe它是否以rails c或rails s启动。 ARGV是一个空的数组。 如何检测应用程序是否已经启动了“rails c”或“rails console”?

你也许可以试试这个

 if defined?(Rails::Console) # in Rails Console else # Not in Rails Console end