Rails 4 - 如何自动检测用户的位置并将其显示在 Web 应用程序上?

Hen*_*Lee 3 ruby-on-rails geoip ruby-on-rails-4

我目前有一个可用的应用程序,我想让 Rails 通过 IP 地址检测访问者的位置,并在我网站的主页上显示城市和州。例如,它会显示“Hello {Name} from City, State”。

访客无需输入任何内容。我知道 GeoIP 和 Geocode 之类的东西。据我所知,它们用于从 IP 搜索位置,反之亦然,但它们需要手动输入信息。

我需要它在用户访问我的主页后立即自动执行。我有一个 Post Controller 和一个主页,我只想在主页的 HAML 中添加一些代码来显示信息。我计划根据位置对用户的帖子进行分类,这将自动填写(我目前有一个用户必须手动输入的位置字段)。如果你也能告诉我如何做到这一点,那就太好了。

有关我需要的实例,请访问weather.com,您将在主页上看到您所在的城市(和天气)。

附加信息:我对 Rails 4 还很陌生(2 周前开始),所以请告诉我最简单的方法,并在可能的情况下为我指出视频资源。

Las*_*ser 5

添加到 gemfile

gem 'geocoder'
Run Code Online (Sandbox Code Playgroud)

运行bundle install并重新启动您的服务器

<%= request.location.city %>你想要的城市的名字出现在视图中。