我正在尝试找到用户的城市,现在我可以看到我的控制器中的地址方法正常工作
def your_location
Geocoder.address(request.remote_ip)
end
但我无法弄清楚如何找到用户城市。
答案 0 :(得分:1)
Geocoder将
location
和safe_location
方法添加到标准中 Rack :: Request 对象,这样您就可以轻松查找任何位置 IP地址的HTTP请求。例如,在Rails控制器或 Sinatra app:
# returns Geocoder::Result object
result = request.location
location
哈希示例:
{
"data"=>{
"ip"=>"213.174.0.254",
"city"=>"Lviv",
"latitude"=>49.8383,
"zip_code"=>"79000",
"longitude"=>24.0232,
"time_zone"=>"Europe/Kiev",
"metro_code"=>0,
"region_code"=>"46",
"region_name"=>"L'vivs'ka Oblast'",
"country_code"=>"UA",
"country_name"=>"Ukraine"
},
"cache_hit"=>nil
}