rails中获取url信息的一些方法

如本机我测试域名为test.blog.zool.it:3000
打开的uri为 /post/Hello-World
fullurl为 http://test.blog.zool.it:3000/post/Hello-world
则rails的路由生成一下几个方法
 
domain(tld_length = 1)
取得域名
request.domain #=>  zool.it
request.domain(2) #=> blog.zool.it
 
subdomain(tld_length = 1)
subdomains(tld_length = 1)
取得子域名
request.subdomain #=>  "test.blog"
request.subdomain(2) #=> "test"
request.subdomain #=>  ["test", "blog"]
request.subdomain(2) #=> ["test"]
 
host()
取得主机名
request.host #=> "test.blog.zool.it"
 
host_with_port()
取得带端口的主机名
request.host_with_port #=> "test.blog.zool.it:3000"
 
raw_host_with_port()
代理服务器的主机名和端口
request.raw_host_with_port #=> "test.blog.zool.it:3000"
 
port()
取得由raw_host_with_port()获得的端口数值
request.port #=> 3000
 
port_string()
取得raw_host_with_port()获得的端口文本字符串
request.port_string #=> ":3000"
 
protocol()
取得当前使用网络协议
request.protocol #=> "http://"
 
scheme()
取得网络协议
request.scheme #=> "http"
 
request_uri()
request请求的uri地址
request.request_uri #=> "/posts/Hello-World"
 
server_port()
取得由env[‘SERVER_PORT’]返回的端口值
request.server_port #=> "3000"
 
ssl?()
当前是否在是用https加密协议
request.ssl?() #=> false
 
standard_port()
返回网络协议标准端口(http为80, https为443)
request.standard_port #=> 80
 
standard_port?()
判断当前协议是否是标准端口
request.standard_port? #=> false
 
url()
取得当前requset完整url
request.url #=> "http://test.blog.zool.it:3000/posts/Hello-World"

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值