当前位置:  开发笔记 > 后端 > 正文

从Rails控制器获取主机名

如何解决《从Rails控制器获取主机名》经验,为你挑选了3个好方法。

我试图从控制器获取运行rails应用程序的机器的主机名.

考虑到它应该在Windows和Linux上工作,最好的方法是什么?



1> Wilhelm..:

您所要做的就是查看控制器中的请求对象:

request.host_with_port

或者,如果你不想要这个端口,那就是

request.host



2> Wayne Conrad..:

总是:

require 'socket'
...
Socket.gethostname

我没有方便用来测试它的Windows盒子,但是文档没有提到它是*nix特定的.

注意:Rails 4不需要require语句,也可能是其他Rails版本.如果您在没有Rails的情况下使用纯Ruby,则需要它.



3> btelles..:

使用反引号和命令 hostname

current_host = `hostname`

这会将命令发送到shell,并返回主机名.至少可以使用:Debian Linux,Windows,Solaris.


如果您要这样做,我建议通过初始化程序缓存该值,而不是为每个请求执行fork().
推荐阅读
虎仔球妈_459
这个屌丝很懒,什么也没留下!
DevBox开发工具箱 | 专业的在线开发工具网站    京公网安备 11010802040832号  |  京ICP备19059560号-6
Copyright © 1998 - 2020 DevBox.CN. All Rights Reserved devBox.cn 开发工具箱 版权所有