Когда вы отправляете HTTP-запрос на сервер, заголовки, отправляемые вместе с запросом, включают в себя IP-адрес, с которого исходил запрос.Полный набор заголовков доступен на вашем контроллере, а IP-адрес доступен с request.client_ip
.
Чтобы получить имя хоста, связанное с этим IP-адресом, вам нужно выполнить «обратный поиск DNS», например:
require "socket"
Socket.gethostbyname(request.client_ip)
Это, вероятно, требует небольшую библиотеку в app/lib
который вы можете require
в application_controller.rb
.Это всего лишь несколько строк кода, но умоляющее имя просит: -)