在我的sesions表中,我使用请求方法存储国家和城市名称,现在,在ubuntu服务器中它运行良好但在redhat中我收到此错误
NoMethodError (undefined method `city' for nil:NilClass)
我试过这个issue solution并重新启动了我的服务器,但它对我不起作用。
在两台服务器中,我使用的是Passenger + Apache
答案 0 :(得分:9)
我发现了问题,那就是搜索IP占用了太多时间,所以我创建了一个初始化程序并更改了默认超时
配置/初始化/ geocoder.rb
Geocoder.configure(
:timeout => 20
)
我打开导轨c并搜索我的IP
$ location = Geocoder.search("myIpAddres")
Geocoding API not responding fast enough (use Geocoder.configure(:timeout => ...) to set limit).
=> []
现在可行了
$ location = Geocoder.search("myIpAddres")
=> [#<Geocoder::Result::Freegeoip:0xa7130b8 @data={"ip"=>"myIpAddres", "country_code"=>"CO", "country_name"=>"Colombia", "region_code"=>"02", "region_name"=>"Antioquia", "city"=>"Medellín", "zipcode"=>"", "latitude"=>6.2518, "longitude"=>-75.5636, "metro_code"=>"", "areacode"=>""}, @cache_hit=nil>]