【发布时间】:2012-12-08 05:41:14
【问题描述】:
假设我的 IP 地址是 x.x.x.1(纽约市),而您的 IP 地址是 x.x.x.2(洛杉矶)。
我访问了 mydomain.com/stuff,看到了关于“stuff”的帖子,但仅限于纽约地区(基于我的 IP 地址)。您访问 mydomain.com/stuff 并看到有关“stuff”的线程,但仅限于洛杉矶地区(基于您的 IP 地址)。
一般问题:使用 Ruby on Rails,如何使相同的 URL mydomain.com/stuff 根据访问者的 IP 地址显示动态内容?例如,我知道像 Monetate 这样的企业软件,它允许网站更改网站上的图像/文本,将夹克显示为纽约 IP 地址,而将泳装显示为夏威夷 IP 地址。
我目前的方法如下:我的“post”模型有字段:“user_id”、“content”、“ip”、“city”。我将使用 geokit-gem 从“ip”地址填充“城市”字段。从那里,我可以读取访问者的 IP 地址,推断他们的城市,并过滤页面内容以匹配访问者的城市。但是……
具体问题:我如何 (1) 获取访问者的 IP 地址,以及 (2) 通过路由将访问者的 IP 地址传递到管理“显示”操作的控制器中,这样我就可以根据城市过滤?
回答上述问题 #1-#2、识别我的一般方法中的缺陷并概述您自己的方法所获得的分数。
【问题讨论】:
标签: ruby-on-rails geolocation ip