Addressable::URI - получить URL без каких-либо параметров

url = Addressable::URI.parse("https://my.url?with=a&lot=of&parameters")

Как получить базовый URL-адрес без ЛЮБОГО параметра запроса, не зная, какие параметры и сколько их?

Я не могу сделать url.query_values = {}, потому что в какой-то момент мне также нужен исходный URL.

Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Пошаговое руководство по созданию собственного Slackbot: От установки до развертывания
Шаг 1: Создание приложения Slack Чтобы создать Slackbot, вам необходимо создать приложение Slack. Войдите в свою учетную запись Slack и перейдите на...
0
0
23
1
Перейти к ответу Данный вопрос помечен как решенный

Ответы 1

Ответ принят как подходящий

Что вы хотите, так это использовать omit:

Addressable::URI#omit(*components) ⇒ Addressable::URI

Omits components from a URI.

url = Addressable::URI.parse('https://sub.example.com/path/to/foo?x=1&y=2#hash')

url.omit(:query).to_s
# =>
"https://sub.example.com/path/to/foo#hash"

Если вам также не нужен хэш или другие компоненты, передайте их также omit:

url.omit(:query, :hash)

Другие вопросы по теме