如何在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