Я использую Geocoder gem, чтобы найти текущее местоположение. Он работал нормально, но теперь, когда я проверил, он возвращает nil для request.location.Геокодер request.location возвращает nil
request.location => nil
Я использую Geocoder gem, чтобы найти текущее местоположение. Он работал нормально, но теперь, когда я проверил, он возвращает nil для request.location.Геокодер request.location возвращает nil
request.location => nil
Это будет происходить менее распространенные запросы (IP-запросы, некоторые жилые адреса и т.д.), когда timeout
установлен слишком низко.
Вы можете проверить это, запустив консоль Rails и вручную, выполнив поиск:
[7] pry(main)> location = Geocoder.search("4.2.2.2")
Geocoding API not responding fast enough (use Geocoder.configure(:timeout => ...) to set limit).
=> []
Установите тайм-аут выше в Геокодер инициализаторе:
# config/initializers/geocoder.rb
Geocoder.configure(
...
# geocoding service request timeout, in seconds (default 3):
timeout: 10,
...
)
Вы, возможно, потребуется использовать 20 или 30 YMMV.
Можете ли вы показать запрос, который вы сделали? Таким образом, мы можем видеть, воспроизводимо ли оно. – lulalala