mam ten URL:Usunąć końcowe "?" z ciągiem
http://localhost:3000/blog/posts?locale=en
mam pomocnika do usunięcia ?locale=en
z URL:
def url_without_locale_params(url)
uri = URI url
params = Rack::Utils.parse_query uri.query
params.delete 'locale'
uri.query = params.to_param
uri.to_s
end
Z tego pomocnika I ten URL http://localhost:3000/blog/posts?
. Chciałbym usunąć ciągnik końcowy ?
.
Wynik powinien wynosić http://localhost:3000/blog/posts
.
Część adresu URL po znaku zapytania nosi nazwę "ciąg zapytania". –
Poprawną odpowiedzią na to jest przypisanie 'nil' do' params', jak mówi Mike Campbell. –
Łatwo zrozumieć, dlaczego próbowałbyś manipulować ciągami w celu masowania zwróconego adresu URL, ale korzystając z klasy zaprojektowanej do zarządzania tymi rzeczami, naprawdę dobrze jest skorzystać z jej funkcji. URI nie jest najlepszym/najbardziej w pełni wyposażonym narzędziem URI dla Rubiego. Spójrz na [adresowalne :: URI] (https://github.com/sporkmonger/addressable), jeśli chcesz czegoś bardziej kompleksowego. –