如何在Rails中获取国家/地区名称?

时间:2016-04-14 10:52:07

标签: ruby-on-rails country

我正在开发Rails 4 application我尝试了很多用户国家/地区意味着用户打开了我想要获得country的网站。

我试过

> Geocoder where too much load and not get proper output
> jQuery /Javascript code but always ask to user for share location which one is not good way
> geoip where get only ip country which always return server ip location not user browser location

任何其他方式。

由于

1 个答案:

答案 0 :(得分:2)

我们在应用中使用了gem 'maxmind_geoip2', github: 'envato/geoip2'。 您需要一个mmdb文件,您可以从gem页面获取该文件。
将该gem配置为:
     MaxmindGeoIP2.file'local_db_file.mmdb'
      MaxmindGeoIP2.locale'en'#default:'ru'

之后,您可以在任何请求中使用request.remote_ip获取用户的IP。

使用MaxmindGeoIP2.locate()解析该IP。它将返回您的位置详细信息,如城市,国家,时区等。