Получите имя хоста от контроллера направляющих

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

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

38
задан sth 6 February 2010 в 06:32
поделиться

3 ответа

Всегда есть:

require 'socket'
...
Socket.gethostname

У меня нет Windows box, с помощью которого можно это проверить, но в документах не упоминается о его *никсовой специфике.

Примечание: Требование не является обязательным для Rails 4, а также, возможно, для других версий Rails. Оно требуется, если вы делаете обычный Ruby без Rails.

29
ответ дан 27 November 2019 в 03:06
поделиться

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

current_host = `hostname`

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

6
ответ дан 27 November 2019 в 03:06
поделиться

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

request.host_with_port

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

request.host
85
ответ дан 27 November 2019 в 03:06
поделиться
Другие вопросы по тегам:

Похожие вопросы: