2

目前我正在使用rails 3.2.3进行网络分析等项目

我有两台服务器,一台正在运行port 3001,另一台正在运行port 3000

这里端口 3001 是服务器(假设这是 Google 网络分析服务器)端口 3000 服务器是最终用户(假设这是您的站点)。现在我需要从端口 3000 获取请求对象。

如果我写下面的代码,我可以获得浏览器的详细信息。

application.html.erb - 这是用户端代码。

<script type="text/javascript" 
        src="http://localhost:3001/tracks/track_client?bwname=<%= request.env["HTTP_USER_AGENT"]  %>">
</script>

这是服务器端coce

def track_client
 params.each do |key,value|
  Rails.logger.warn "Param #{key}: #{value}"
 end
end

{bwname=>Mozilla/5.0 (Windows NT 6.1", " WOW64) AppleWebKit/534.57.2 (KHTML, like Gecko) Version/5.1.7 Safari/534.57.2}

但我需要用户的请求对象,其所有属性都不是特定的。就像我也需要其他属性一样

"GATEWAY_INTERFACE", "PATH_INFO", "QUERY_STRING", "REMOTE_ADDR", "REMOTE_HOST", "REQUEST_METHOD", "REQUEST_URI", "SCRIPT_NAME", "SERVER_NAME", "SERVER_PORT", "SERVER_PROTOCOL", "SERVER_SOFTWARE", "HTTP_HOST", "HTTP_USER_AGENT",
"HTTP_ACCEPT",  "HTTP_ACCEPT_LANGUAGE",  "HTTP_ACCEPT_ENCODING",  "HTTP_DNT"=>"1",  "HTTP_CONNECTION", "HTTP_COOKIE", "HTTP_IF_NONE_MATCH", "HTTP_CACHE_CONTROL"

除此之外,我还需要一些其他参数,就像这样

<script type="text/javascript" 
        src="http://localhost:3001/tracks/track_client?userid=1234&bwname=<%= request.env %>">
</script>
4

1 回答 1

1

你在找request对象吗?

请在此处查看 http://techoctave.com/c7/posts/25-rails-request-environment-variables

于 2012-05-23T18:49:46.997 回答