在Ruby中评估另一个上下文中的潜在相对URI
发布时间:2020-12-16 21:02:20 所属栏目:百科 来源:网络整理
导读:我在 Ruby程序中有两个URI.一个肯定是绝对URI而另一个可能是绝对的或相对的.我想在第一个的上下文中转换第二个,所以如果第一个是 http://pupeno.com/blog而第二个是/ about,结果应该是 http://pupeno.com/about.任何想法怎么做? 解决方法 Ruby的内置URI和 A
我在
Ruby程序中有两个URI.一个肯定是绝对URI而另一个可能是绝对的或相对的.我想在第一个的上下文中转换第二个,所以如果第一个是
http://pupeno.com/blog而第二个是/ about,结果应该是
http://pupeno.com/about.任何想法怎么做?
解决方法
Ruby的内置URI和
Addressable gem都可以做到这一点.我更喜欢Addressable,因为它功能更全,但URI是内置的.
require 'uri' URI.join('http://pupeno.com/blog','/about') # => #<URI::HTTP:0x00000101098538 URL:http://pupeno.com/about> 要么 require 'addressable/uri' uri = Addressable::URI.parse('http://pupeno.com/blog') uri.join('/about') # => #<Addressable::URI:0x806704a0 URI:http://pupeno.com/about> 使用提供的连接方法是个好主意,因为它们会进行一些健全性检查以确保返回的地址是正确的.如果您有相对URL并直接替换旧路径,则直接分配到路径可能会破坏事物.加入将考虑到这一点,并将替换或合并,以适当的方式. (编辑:李大同) 【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容! |