Hap*_*per 22 ruby url host ruby-on-rails
我需要使用主机来构建具有不同端口的URL.
例如,如果主机是example.com,我需要生成一个类似http://example.com:8080/的URL
我需要它是可移植的,所以当我在我的本地环境时,它显示http:// localhost:8080 /.
有任何想法吗?
Ale*_*x D 43
我经常使用before_filterin ApplicationController来设置一个带有主机名的实例变量,如下所示:
@hostname = request.host || "www.mydomain.com"
Run Code Online (Sandbox Code Playgroud)
您还可以使用request.port获取请求所来自的端口号(取自HTTP标头).
基本上你需要根据当前的url和其他一些端口号生成url.可以这样做 -
request.url(:port => 20)
Run Code Online (Sandbox Code Playgroud)
在rails控制台上
app.root_url(:port => 20)
=> "http://www.example.com:20/"
Run Code Online (Sandbox Code Playgroud)
从url使用中提取主机
request.host
Run Code Online (Sandbox Code Playgroud)