В ответ на запрос запускаются только блоки маршрута. Код снаружи запускается один раз, когда устанавливается обработчик.
Вместо того, чтобы использовать переменную, вы можете делать то, что вы хотите, с методом, это гарантирует, что поиск в @env
выполнен в правильной области.
def clients_ip
@env['REMOTE_ADDR']
end
get '/' do
# ... show something ...
clients_ip
end