EOFError при вызове метода Geocoder в Rails 4

Итак, я попытался выполнить поиск на основе местоположения, предоставив город моему методу Geocoder Geocoder.coordinates("Miami"), но мое приложение Rails выдало это исключение:

EOFError in ListingsController#search

end of file reached

Мой журнал разработки на самом деле не объясняет, что происходит:

введите здесь описание изображения

И мой код обрывается и выдает исключение при вызове Geocoder в моем контроллере:

def search
  @favorited_listing = FavoritedListing.new
  @listings = Listing.search(params[:search].downcase)
  @results = Array.new
  @cityCoordinates = Geocoder.coordinates(params[:city])  # <= This is where the exception gets thrown



  if !params[:city].nil? && params[:city] != ""
    @results = @listings.select { |listing| listing.location.distance_from(@cityCoordinates) < 50 }
  else
    @results = @listings
  end

  @listings_json = []

  @coordinates = @results.map do |listing|
    @listings_json << listing.as_json(:include => [:location, :pictures])
  end

  respond_with(@results)
end

Вещи, которые я пробовал из других сообщений об этой проблеме:

  • Удаление кэша Sprockets rm -Rf tmp/cache/assets/development/sprockets/*
  • Клонирование проекта в новый каталог из git

Ни один из них не работал. Кто-нибудь знает, что происходит, или может указать мне правильное направление?


person Graham S.    schedule 21.10.2015    source источник


Ответы (2)


Я только что запустил bundle update, и это решило проблему. Я считаю, что проблема заключалась в том, что мой драгоценный камень net-ssh или faraday (скорее всего, Фарадей, на мой взгляд), вызывал проблему с попыткой сделать HTTP-запросы. Я собираюсь изучить это подробнее и обновить этот ответ, когда узнаю об этом больше.

person Graham S.    schedule 21.10.2015

Я обнаружил, что Geocoder, geokit и geokit-rails нуждаются в обновлении, и это устранило проблему исключений EoF.

person cnikolaou    schedule 07.04.2018
comment
Ваше здоровье! Есть идеи, почему это начало происходить? Увидел, что ошибка появилась за последние несколько дней. Похоже, что freegeoip использует перенаправления на ipstack, так может быть? - person Damien Roche; 09.04.2018
comment
@DamienRoche, по-видимому, так, я пытался проверить различия версий geokit и geokit-rails, но ничего существенного не изменилось. - person cnikolaou; 15.04.2018