https://github.com/alexreisner/geocoder
Non riesco a trovare la documentazione per mostrare la città del visitatore dall'indirizzo IP? So come con HTML5, ma vorrei usare il valore che ha geocoder. Grazie
risposte:
8 per risposta № 1Mi ci sono volute un paio d'ore per rendermi conto che la risposta è piuttosto semplice:
request.location.city
Pagina del geocoder ha questo esempio ma ho pensato che avrei dovuto dichiararlo richiesta ma no, non è necessario altro.
Se non si dispone di Geocoder, è necessario installare la gemma, ma nulla oltre a quello.
6 per risposta № 2
Come ho fatto è stato -
location = Geokit::Geocoders::IpGeocoder.geocode(source_ip)
city = location.city
country = location.country
Qui source_ip è un oggetto stringa.
1 per risposta № 3
# app/models/user.rb
geocoded_by :ip_address,
:latitude => :lat, :longitude => :lon
after_validation :geocode
Snippet da geocoder luogo.
1 per risposta № 4
Potresti farlo in 2 modi diversi
1) Se riuscissi a ottenere la città / indirizzo dei visitatori come una stringa, il geocoder lo convertirà automaticamente in latitudine e longitudine
class Message < ActiveRecord::Base
geocoded_by :full_address
after_validation :geocode
def full_address
"#{city}, Sri Lanka"
end
end
2) Altrimenti dovrai tenere traccia dell'ip del visitatore, esempio è nel home page sulla gemma "geocoder"
NOTA: è possibile utilizzare il metodo near nel modo seguente
<Active Record Object List>.near(<City Name>, <distance>, :order => :distance)
Ex: @messages = @messages.near("colombo", 10, :order => :distance)
e c'è uno schermo super-duper cast di ryan in Railscasts