40
我有这样的代码在初始化:如何检测我的代码是否在Rails 3的控制台中运行?
if $0 == 'irb'
# ...
end
它工作正常使用Rails 2.3,但在Rails 3的$ 0值“脚本/轨”不管它开始与导轨C或导轨秒。 ARGV是一个空数组。如何检测应用程序是否已经开始使用“rails c”或“rails console”?
我有这样的代码在初始化:如何检测我的代码是否在Rails 3的控制台中运行?
if $0 == 'irb'
# ...
end
它工作正常使用Rails 2.3,但在Rails 3的$ 0值“脚本/轨”不管它开始与导轨C或导轨秒。 ARGV是一个空数组。如何检测应用程序是否已经开始使用“rails c”或“rails console”?
你可以试试这个也许
if defined?(Rails::Console)
# in Rails Console
else
# Not in Rails Console
end
注意运行春时,则不会在Rails的初始化工作。 – 2014-09-30 00:19:36
你想'Rails.const_defined?(“Console”),而不是'defined?(Rails :: Console)'。 – wxgeorge 2017-01-16 03:58:26
@wxgeorge为什么更好? – 2017-02-24 17:48:44