相关疑难解决方法(0)

在Ruby on Rails中获取主机名或IP

我正在维护Ruby on Rails应用程序,我正在寻找一种简单的方法来查找我所在的盒子的主机名或IP地址(因为它是一个VM,新实例可能有不同的主机名或IP地址) .在Ruby on Rails中有一种快速简便的方法吗?

编辑:下面的答案是正确的,但克雷格提供的澄清是有用的(参见答案中提供的链接):

[下面]代码不会建立连接或发送任何数据包(到64.233.187.99,这是谷歌).由于UDP是无状态协议,因此connect()仅进行系统调用,该系统调用根据地址和应绑定的接口(以及IP地址)来确定如何路由数据包.addr()返回一个数组,其中包含套接字的系列(AF_INET),本地端口和本地地址(我们想要的).

ruby networking

77
推荐指数
6
解决办法
9万
查看次数

如何查找正在运行rails实例的本地端口?

因此,我希望我的Rails应用程序实例能够在我正在使用的"我正在进行"的事情上进行注册,并且我希望它能够提及它正在运行的本地端口.我似乎无法找到如何做到 - 实际上只是发现它的IP是棘手的,需要一点点黑客.

但没问题,我有IP - 但我怎样才能找到我的mongrel/thin/webrick服务器运行的端口?

要超级明确,如果我使用脚本/服务器-p 3001启动rails应用程序,我该怎么做才能在应用程序中提取3001.

ruby ruby-on-rails

20
推荐指数
6
解决办法
1万
查看次数

模型中Rails应用程序的基本URL

为了能够看到用户是否在Facebook上共享了我的页面,我希望能够创建这种URL:

http://graph.facebook.com/?id=http://stylehatch.co/some_unique_user_token
Run Code Online (Sandbox Code Playgroud)

http://stylehatch.co将需要我的基本URL.我正在考虑在User模型中创建一个将构建并返回该URL的方法,但我无法从我的模型中访问root_url.

如何从模型中获取应用程序的基本URL?

如果我的网址看起来像这样:

http://myapp.com/users/new

http://myapp.com/users/2/show
Run Code Online (Sandbox Code Playgroud)

如何从我的模型中获取" http://myapp.com "?我已经添加了:

  include Rails.application.routes.url_helpers
Run Code Online (Sandbox Code Playgroud)

在我的模型中,但似乎root_url是零.有什么想法吗?这是一个Model方法是正确的,还是应该将它放在帮助器中?

谢谢

ruby controller ruby-on-rails request

8
推荐指数
2
解决办法
2万
查看次数

标签 统计

ruby ×3

ruby-on-rails ×2

controller ×1

networking ×1

request ×1