我需要使用主机来构建具有不同端口的URL。
例如,如果主机是example.com,我需要生成类似http://example.com:8080/
的网址我需要它是可移植的,所以当我在我的本地环境中时,它会显示http://localhost:8080/。
有什么想法吗?
答案 0 :(得分:43)
我经常在before_filter
中使用ApplicationController
来设置一个带有主机名的实例变量,如下所示:
@hostname = request.host || "www.mydomain.com"
您还可以使用request.port
获取请求所来自的端口号(取自HTTP标头)。
答案 1 :(得分:8)
基本上你需要根据当前的url和其他一些端口号生成url。 它可以作为 -
完成request.url(:port => 20)
在rails控制台上
app.root_url(:port => 20)
=> "http://www.example.com:20/"
从网址中提取主机
request.host