在我的会话表中,我使用请求方法存储国家和城市名称,现在,在 ubuntu 服务器中它运行良好,但在 redhat 中我收到此错误
NoMethodError (undefined method `city' for nil:NilClass)
我已经尝试过这个问题解决方案并重新启动了我的服务器,但它对我不起作用。
在两台服务器中,我都使用Passenger + Apache
在我的会话表中,我使用请求方法存储国家和城市名称,现在,在 ubuntu 服务器中它运行良好,但在 redhat 中我收到此错误
NoMethodError (undefined method `city' for nil:NilClass)
我已经尝试过这个问题解决方案并重新启动了我的服务器,但它对我不起作用。
在两台服务器中,我都使用Passenger + Apache
我找到了问题,是搜索 IP 花费了太多时间,所以我创建了一个初始化程序并更改了默认超时
配置/初始化程序/geocoder.rb
Geocoder.configure(
:timeout => 20
)
我打开rails 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>]