Sembra controlli URI.join per la presenza di carattere barra '/'per calcolare la cartella nel percorso dell'URL. Quindi, se hai perso la barra finale nel percorso, non la tratterà come cartella, e la ometterò. Check this out:
URI.join("https://service.com", 'omitted_part', 'omitted_again', 'end_point_stays').to_s
# =>"https://service.com/end_point_stays"
Qui, se cerchiamo di aderire al solo parole, primo e l'ultimo params rimangono solo, il resto sono omessi, dove prima param è, URI assoluto con protocollo & ultimo param è il punto finale .
Quindi, se si desidera includere il componente della cartella, add slash in ogni cartella componenti, parte allora solo è considerato del percorso:
URI.join("https://service.com", 'omitted_no_trailing_slash', 'omitted_again', 'stays/', 'end_point_stays').to_s
# => "https://service.com/stays/end_point_stays"
Una cosa più interessante da considerare è che, se si sta fornendo percorso nel primo parametro si agisce come segue:
URI.join("https://service.com/omitted_because_no_trailing_slash", 'end_point_stays').to_s
# => "https://service.com/end_point_stays"
URI.join("https://service.com/stays_because_of_trailing_slash/", 'end_point_stays').to_s
# => "https://service.com/stays_because_of_trailing_slash/end_point_stays"
URI.join("https://service.com/safe_with_trailing_slash/omitted_because_no_trailing_slash", 'end_point_stays').to_s
# => "https://service.com/safe_with_trailing_slash/end_point_stays"
Partenza: http://stackoverflow.com/questions/8900782/how-do-i-safely-join-relative-url-segments –