Getting a user country name from originating IP address with Ruby on Rails
You can use geoip gem. environment.rb config.gem ‘geoip’ Download GeoIP.dat.gz from http://www.maxmind.com/app/geolitecountry. unzip the file. The below assumes under #{RAILS_ROOT}/db dir. @geoip ||= GeoIP.new(“#{RAILS_ROOT}/db/GeoIP.dat”) remote_ip = request.remote_ip if remote_ip != “127.0.0.1” #todo: check for other local addresses or set default value location_location = @geoip.country(remote_ip) if location_location != nil @model.country = location_location[2] end end