4
在Rails中,您可能希望您的环境在启动时执行不同的操作,具体取决于您是否正在运行rake任务。例如,我的使用案例是在应用程序启动时将几百MB的缓存加载到内存中。我们显然不希望这种情况发生在耙指令上。如果我正在运行rake命令,如何在rails中检测?
---更新--- 以下是可靠的解决方案,并与heroku合作。
is_rake = (ENV['RACK_ENV'].blank? || ENV['RAILS_ENV'].blank? || !("#{ENV.inspect}" =~ /worker/i).blank?)
这不是一个可靠的解决方案。很多字符串都可能隐藏在ENV中。以下是您的模式可以匹配的单词列表:http://www.morewords.com/contains/rake/ – Mori 2013-03-21 03:09:34