現在、私はレール3.2.3を使用したWeb分析のようなプロジェクトに取り組んでいます。
私は2つのサーバーを持っています。1つはで実行されてport 3001
おり、もう1つはで実行されていport 3000
ます。
ここで、ポート3001はサーバー(これはGoogle Web分析サーバーであるとしましょう)であり、ポート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>