Я использую Rails 4.2. Я хочу отобразить местоположение текущего пользователя на карте. Я пытаюсь использовать геокодер для того же самого. Неожиданно request.location
не отображает ожидаемые данные.Получить текущее местоположение пользователя в рельсах 4.2
>request.location
=> #<Geocoder::Result::Freegeoip:0x007fed262bf690
@cache_hit=nil,
@data=
{"ip"=>"::1",
"city"=>"",
"region_code"=>"",
"region_name"=>"",
"metrocode"=>"",
"zipcode"=>"",
"latitude"=>"0",
"longitude"=>"0",
"country_name"=>"Reserved",
"country_code"=>"RD"}>
> request.remote_ip
=> "::1"
> request.env['REMOTE_ADDR']
=> "::1"
Любые предложения? Это необходимо для работы во всех средах.
похоже, что вы получаете доступ к этому через localhost, поэтому он дает вам правильное местоположение (IE localhost). Геокодер использует сетевой адрес, чтобы получить приблизительное местоположение пользователя, поэтому он работает так, как ожидалось. Вам нужно будет использовать другое решение, если вы хотите запросить браузер/устройство для информации о местоположении – Doon