Ruby on rails 如何检测代码是否正在从rails服务器运行?

Ruby on rails 如何检测代码是否正在从rails服务器运行?,ruby-on-rails,Ruby On Rails,我有一个rails应用程序,我在mongrel服务器上运行主rails应用程序。但是,我也有一个comet服务器(使用EventMachine)使用rails环境运行(因此它可以访问数据库)。然而,混血儿似乎弄乱了这台机器。我的问题是,如何检测我是从rails服务器还是从EventMachine服务器运行rails环境,以便仅在这种情况下才需要mongrel gem 谢谢 request.server_software() 我想出了该怎么办。我已经为EventMachine服务器声明了一些全局

我有一个rails应用程序,我在mongrel服务器上运行主rails应用程序。但是,我也有一个comet服务器(使用EventMachine)使用rails环境运行(因此它可以访问数据库)。然而,混血儿似乎弄乱了这台机器。我的问题是,如何检测我是从rails服务器还是从EventMachine服务器运行rails环境,以便仅在这种情况下才需要mongrel gem

谢谢

request.server_software()

我想出了该怎么办。我已经为EventMachine服务器声明了一些全局变量,所以我检查它们是否已定义。如果没有,那么我知道它没有运行EventMachine服务器。

这不起作用,因为EventMachine服务器从不接触ActionController。它加载rails环境完全是为了使用activerecord。@Maz那么,问题出在哪里?如果您在mongrel下,此代码将返回“mongrel”,否则可能没有“@env”变量(或其中没有“SERVER\u SOFTWARE”值)。