假设我的IP地址是x.1(纽约),而你的地址是x.2(洛杉矶)。
我访问mydomain.com/stuff,我看到关于“东西”的线程,但只在纽约地区(基于我的IP地址)。你可以访问mydomain.com/address,你会看到一些关于“东西”的线索,但只在洛杉矶地区(根据你的IP地址)。
一般问题:使用Rails,我如何才能创建相同的URL mydomain.com/ content,根据访问者的IP地址显示动态内容?例如,我知道企业软件,比如Monetate,它允许网站更改图片/文本,将夹克显示到NYC IP地址,而泳装则显示到夏威夷IP地址。
我目前的方法如下:我的"post“模型有字段:"user_id”、"content“、"ip”、"city“。我将使用geokit-gem从"ip“地址填充"city”字段。从那里,我可以读取访问者的IP地址,推导出他们的城市,并过滤网页上的内容,以匹配游客的城市。但是..。
具体问题:我(1)如何获得访问者的IP地址,以及(2)如何将该IP地址从访问者通过路线传递给管理“显示”操作的控制器,以便我能够基于城市进行过滤?
以上问题1-#2的答案被授予分数,找出我一般方法中的缺陷,并概述你自己的方法。
发布于 2012-12-08 05:54:07
您可以使用:request.remote_ip获取IP。
你也可以使用地理编码器https://github.com/alexreisner/geocoder
检查这个RailsCast http://railscasts.com/episodes/273-geocoder
这个流程对我来说很好,你可以通过城市过滤你的帖子,也可以通过附近的位置过滤。
https://stackoverflow.com/questions/13774870
复制相似问题