Подтвердить что ты не робот

Получить имя хоста из контроллера Rails

Я пытаюсь получить имя хоста машины, на которой запущено приложение rails от контроллера.

Каким будет лучший способ сделать это, учитывая, что он должен работать как с окнами, так и с linux?

4b9b3361

Ответ 1

Всегда:

require 'socket'
...
Socket.gethostname

У меня нет окна Windows, с помощью которого можно протестировать это, но в документах нет упоминания о том, что это * nix specific.

Ответ 2

Все, что вам нужно сделать, это посмотреть объект запроса в контроллере:

request.host_with_port

или если вам не нужен порт, просто

request.host

Ответ 3

Используйте обратные ссылки и команду hostname

current_host = `hostname`

Отправляет команду в оболочку и возвращает имя хоста. Работает как минимум: Debian Linux, Windows, Solaris.