所以我试图通过向我的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
我在其他帖子中尝试过关于此问题的事情:
rm -Rf tmp/cache/assets/development/sprockets/*
这些都没有奏效。有谁知道发生了什么或者能指出我正确的方向吗?
答案 0 :(得分:1)
我刚刚运行bundle update
并修复了问题。我认为问题是我的net-ssh
gem或faraday
gem(我认为很可能是法拉第)导致尝试发出http请求时遇到问题。我将更多地研究它并在我了解更多相关信息时更新此响应。
答案 1 :(得分:0)
我发现Geocoder,geokit和geokit-rails都需要更新,这解决了EoF异常的问题。