1

私の IP アドレスが xxx1 (NYC) で、あなたの IP アドレスが xxx2 (ロサンゼルス) だとします。

mydomain.com/stuff にアクセスすると、"stuff" に関するスレッドが表示されますが、(私の IP アドレスに基づいて) NYC エリアでのみ表示されます。mydomain.com/stuff にアクセスすると、"stuff" に関するスレッドが表示されますが、(IP アドレスに基づいて) ロサンゼルス エリアでのみ表示されます。

一般的な質問: Ruby on Rails を使用して、同じ URL mydomain.com/stuff に訪問者の IP アドレスに基づいて動的コンテンツを表示するにはどうすればよいですか? たとえば、私は Monetate のようなエンタープライズ ソフトウェアを知っています。このソフトウェアを使用すると、Web サイトの画像やテキストを変更して、ジャケットをニューヨークの IP アドレスに表示し、水着をハワイの IP アドレスに表示することができます。

私の現在のアプローチは次のとおりです。私の「投稿」モデルには、「user_id」、「content」、「ip」、「city」というフィールドがあります。geokit-gem を使用して、「ip」アドレスから「city」フィールドに入力します。そこから、訪問者の IP アドレスを読み取って都市を推測し、訪問者の都市に一致するようにページ上のコンテンツをフィルタリングできます。しかし...

具体的な質問: (1) 訪問者の IP アドレスを取得し、(2) その IP アドレスを訪問者からルートを介して「表示」アクションを管理するコントローラーに渡し、以下に基づいてフィルタリングできるようにする方法街?

上記の質問 #1 から #2 への回答、私の一般的なアプローチの欠陥の特定、および独自のアプローチの概要に対してポイントが与えられます。

4

1 に答える 1

1

次のコマンドで IP を取得できます: request.remote_ip

Geocoder https://github.com/alexreisner/geocoderを使用できます

この RailsCast を確認してくださいhttp://railscasts.com/episodes/273-geocoder

フローは私には良いと思います。投稿を都市でフィルタリングしたり、近くの場所でフィルタリングしたりできます。

于 2012-12-08T05:54:07.210 に答える