Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Rails 4 - How would I automatically detect a user's location and display it on the web app?

I currently have a working app and I would like to have Rails detect a visitor's location by the IP address and display the city and state on the homepage of my website. For example, it would display "Hello {Name} from City, State".

Visitors do not have to enter anything. I'm aware of things like GeoIP and Geocode. As far as I know about them, they are used to search for locations from IP or vice versa but they require manually inputting the info.

I need it to do it automatically as soon as the user visits my homepage. I have a Post Controller and a home page, and I just want to add some code to my home page's HAML to display the info. I plan to categorize user's posts based on location, which will be automatically filled in (I currently have a location field that user's must enter manually). If you can show me how to do that too, that would be great.

For a live example of what I'm needing, visit weather.com and you'll see your city (and the weather) on the homepage.

Additional info: I'm fairly new to Rails 4 (started 2 weeks ago) so please show me the simplest way and point me to video resources if possible.

like image 506
Henry Lee Avatar asked Oct 22 '25 00:10

Henry Lee


1 Answers

Add to the gemfile

gem 'geocoder'

run bundle install and restart your server

Put <%= request.location.city %> in the view you want the city name to appear in.

like image 122
Laser Avatar answered Oct 25 '25 04:10

Laser



Donate For Us

If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!