如何在Rails应用程序中获取主机和端口

在Rails模型中,我希望能够找到主机和端口。 例如,如果我在测试环境中它将返回http://localhost:3000/并且如果我在生产中它将返回类似http://my.application.com/

host_with_port应该适合你: http : host_with_port

 "#{root_url}" 

应该在您的routes.rb中声明

您可以在控制器中获取这些值(request.host,request.port等)。

您必须通过参数将其提供给模型,因为请求对象仅在控制器中可用。

你可以用它

 <%= request.protocol + request.host_with_port %> #=> https://example.com:3000 <%= request.protocol + request.host %> #=> https://example.com 

你可以使用request_uri获得完整的uri( http:// localhost:3000 /或http://my.application.com/等)

http://apidock.com/rails/ActionController/AbstractRequest/request_uri