Я создаю приложение Sinatra, которое будет принимать IP-адрес посетителя и возвращать погоду в этом месте. Следуя doc Geocoder, может показаться, что получить IP так же просто, как
city = request.location.city
Однако ввод этого в irb просто дает ошибку NameError, которую вы видите в заголовке сообщения. Выполнение того, что мне кажется логичным, и попытка создать новый класс, в котором можно использовать метод request
, приводит к еще одной ошибке NameError — на этот раз для хэша env
, взятого Rack::Request.new(env)
.
Я могу понять, как построить это самостоятельно, но я застрял в этом конкретном вопросе и предполагаю, что упускаю из виду что-то, не упомянутое в документах. Что я делаю неправильно, из-за чего request
и env
остаются неопределенными, и как мне правильно определить их?