2011-04-19 15 views

cevap

11

İkisi Ruby'nin URI dahili ve Addressable mücevher, bu kısa çalışma yapar. Adreslenebilir olmayı tercih ederim çünkü daha çok özellikli ancak URI yerleşik.

require 'uri' 

URI.join('http://pupeno.com/blog', '/about') # => #<URI::HTTP:0x00000101098538 URL:http://pupeno.com/about> 

veya

require 'addressable/uri' 

uri = Addressable::URI.parse('http://pupeno.com/blog') 
uri.join('/about') # => #<Addressable::URI:0x806704a0 URI:http://pupeno.com/about> 

bazı aklı iade adresi aklı başında olduğundan emin olmak için kontrol yapmak, çünkü verilen join yöntemlerini kullanmak iyi bir fikirdir

. Bağlantılı bir URL’niz varsa ve yolu eski yolla değiştirirseniz, doğrudan yola atamak şeyleri bozabilir. join bunu dikkate alır ve hangisi uygunsa, yerini alacak veya birleştirecektir.

1

Bu yapacağım:

require 'uri' 
url=URI.parse('http://pupeno.com/blog') 
=> #<URI::HTTP:0x00000100e35368 URL:http://pupeno.com/blog> 
ruby-1.9.2-p0 > url.path="/about" 
=> "/about" 
ruby-1.9.2-p0 > url 
=> #<URI::HTTP:0x00000100e35368 URL:http://pupeno.com/about> 
+0

Bu yaklaşımdaki sorun, ikinci dizenin de mutlak bir URI olabileceğidir. – Pablo

+0

oops, Bunu açıklamadan anlamadım – eggie5

İlgili konular