我在Ruby程序中有两个URI.一个肯定是绝对URI而另一个可能是绝对的或相对的.我想在第一个上下文的绝对URI中转第二个,所以如果第一个是http://pupeno.com/blog而第二个是/ about,结果应该是http:/ /pupeno.com/about.有什么想法怎么做?
the*_*Man 11
Ruby的内置URI和Addressable gem都可以做到这一点.我更喜欢Addressable,因为它功能更全,但URI是内置的.
require 'uri'
URI.join('http://pupeno.com/blog', '/about') # => #<URI::HTTP:0x00000101098538 URL:http://pupeno.com/about>
Run Code Online (Sandbox Code Playgroud)
要么
require 'addressable/uri'
uri = Addressable::URI.parse('http://pupeno.com/blog')
uri.join('/about') # => #<Addressable::URI:0x806704a0 URI:http://pupeno.com/about>
Run Code Online (Sandbox Code Playgroud)
使用join提供的方法是个好主意,因为它们会进行一些健全性检查以确保返回的地址是正确的.如果您有相对URL并直接替换旧路径,则直接分配到路径可能会破坏事物.join将考虑到这一点,并将取代或合并,以适当的方式.
| 归档时间: |
|
| 查看次数: |
1212 次 |
| 最近记录: |