5 ответов:
Я бы просто использовать
request.remote_ip
Это просто, и это работает. Есть причины, по которым вам нужен другой метод?посмотреть: получить реальный IP-адрес в локальной среде разработки Rails для некоторых других вещей, которые вы можете сделать с ip-адреса клиент-сервера.
request.remote_ip
является интерпретацией всей доступной информации IP-адреса, и это сделает лучшее предположение. Если вы обращаетесь к переменным напрямую, вы берете на себя ответственность за их тестирование в правильном порядке приоритета. Прокси вводят ряд заголовков, которые создают переменные среды с разными именами.
для всех, кто заинтересован и использует более новые рельсы и Devise gem: опция Devise "trackable" включает столбец для current/last_sign_in_ip в таблице пользователей.
нашел
request.env['HTTP_X_FORWARDED_FOR']
очень полезно тоже в случаях, когдаrequest.remote_ip
возвращает127.0.0.1
Comments