在Rails控制器中获取我的域名

Ada*_*NYC 5 ruby-on-rails-3

我想得到我的域名:http://localhost:3000在开发中,或mydomain.com在生产中.

我不想使用request.host,因为我的请求可能来自不同的网站.我该怎么做?

谢谢.

SRa*_*ack 14

我知道这是一个老问题,但它在搜索中排名很高。如果有人偶然发现要使用协议检索域,您可以使用:

request.base_url
#=> http://localhost:3000 # dev
#=> https://example.com # prod
Run Code Online (Sandbox Code Playgroud)

希望这对某人有用。


Dan*_*edy 10

你用的request.domain.看看在ActionController的概述-请求和响应对象的更多信息部分.

为了澄清,request.domain将返回用于请求的服务器的主机名,而不是访问者的主机名.除非您使用多个域托管您的应用程序,否则您应该获得您期望的价值(例如mydomain.com)