1

假设我的 IP 地址是 xxx1(纽约市),而你的 IP 地址是 xxx2(洛杉矶)。

我访问 mydomain.com/stuff,我看到了关于“stuff”的线程,但仅限于纽约地区(基于我的 IP 地址)。您访问 mydomain.com/stuff 并看到有关“stuff”的线程,但仅限于洛杉矶地区(基于您的 IP 地址)。

一般问题:使用 Ruby on Rails,如何使相同的 URL、mydomain.com/stuff 根据访问者的 IP 地址显示动态内容?例如,我知道企业软件,如 Monetate,它允许网站更改网站上的图像/文本,以将夹克显示为 NYC IP 地址,但将泳装显示为夏威夷 IP 地址。

我目前的方法如下:我的“post”模型有字段:“user_id”、“content”、“ip”、“city”。我将使用 geokit-gem 从“ip”地址填充“城市”字段。从那里,我可以读取访问者的 IP 地址,推断他们的城市,并过滤页面内容以匹配访问者的城市。但...

具体问题:我如何(1)获取访问者的 IP 地址,以及(2)将该 IP 地址从访问者通过路由传递到管理“显示”操作的控制器,以便我可以根据城市?

回答上述问题#1-#2、识别我的一般方法中的缺陷并概述你自己的方法所获得的分数。

4

1 回答 1

1

您可以通过以下方式获取 IP:request.remote_ip

你可以使用地理编码器https://github.com/alexreisner/geocoder

检查这个 RailsCast http://railscasts.com/episodes/273-geocoder

流程对我来说似乎不错,您可以按城市过滤帖子,也可以按附近位置过滤。

于 2012-12-08T05:54:07.210 回答