Dans Ruby / Rails, comment puis-je encoder / échapper des caractères spéciaux dans les URL?

Comment puis-je encoder ou de "s'échapper" de l'URL avant j'utiliser OpenURI à open(url)?

Nous utilisons OpenURI pour ouvrir une url distante et retour le xml:

getresult = open(url).read

Le problème est que l'URL contient de l'utilisateur-saisir le texte qui contient des espaces et autres caractères, y compris les "+", "&", "?", etc. potentiellement, nous avons donc besoin de sortir en toute sécurité de l'URL. J'ai vu beaucoup d'exemples lors de l'utilisation de Net::HTTP, mais n'ont pas trouvé tout de OpenURI.

Nous devons également être en mesure d'onu-échapper à une chaîne similaire nous recevoir dans une variable de session, donc nous avons besoin de la fonction réciproque.

source d'informationauteur jpwynn | 2011-02-11