Как в Ruby / Rails я могу кодировать / экранировать специальные символы в URL-адресах?

Как мне закодировать или «экранировать» URL-адрес перед использованием OpenURI to open (url) ?

Мы используем OpenURI, чтобы открыть удаленный url и вернуть xml:

getresult = open(url).read

Проблема в том, что URL-адрес содержит некоторый вводимый пользователем текст, который содержит пробелы и другие символы, включая потенциально «+», «&», «?» И т. Д., Поэтому нам нужно безопасно экранировать URL. Я видел много примеров использования Net :: HTTP, но не нашел ни одного для OpenURI.

Нам также нужно иметь возможность отменять экранирование аналогичной строки, которую мы получаем в переменной сеанса, поэтому нам нужна обратная функция.

15
задан the Tin Man 16 March 2016 в 18:42
поделиться