Rails:检测用户代理是否在开发中工作但不在生产中?

我试图在我的应用程序中检测Blackberry用户代理,这在我的开发版本中工作正常。 但是当我在生产中重新部署应用程序时没有任何反应。

application_helper.rb

def blackberry_user_agent? request.env["HTTP_USER_AGENT"] && request.env["HTTP_USER_AGENT"][/(Blackberry)/] end 

application.html.erb

  

Using a Blackberry? Use the mobile optimized version.

我已经尝试使用rake tmp:cache清除缓存:清除并重启mongrel几次。 显然,HTTP_USER_AGENT在生产中回归为零。 我正在使用Nginx和一个mongrel集群。

你在你的杂种前面使用Apache或nginx吗?

你是否记录了user_agent? 这是来自我的nginx.conf:

 log_format main '$remote_addr - $remote_user [$time_local] $request ' '"$status" $body_bytes_sent "$http_referer" ' '"$http_user_agent" "http_x_forwarded_for"'; 

尝试:

 request.user_agent