Comment faire pour extraire des paramètres d'URL à partir d'une URL avec Ruby ou Rails?

J'ai des Url, comme

http://www.example.com/something?param1=value1&param2=value2&param3=value3

et j'aimerais extraire les paramètres de ces Url et les mettre dans une table de Hachage. Évidemment, je pourrais utiliser des expressions régulières, mais je me demandais juste si il y avait des façons plus faciles de le faire avec Ruby ou Rails. Je n'ai rien trouvé dans le module Ruby URI mais j'ai peut-être raté quelque chose.

En fait, j'ai besoin d'une méthode qui permettrait de le faire:

extract_parameters_from_url("http://www.example.com/something?param1=value1&param2=value2&param3=value3")
#=> {:param1 => 'value1', :param2 => 'value2', :param3 => 'value3'}

Auriez-vous quelques conseils?

  • Hash[*string.split('&').collect{|i|i.split('=')}.flatten] Ce serait trop de travail, mais c'est probablement la pire option pour ce cas. Mais encore, vous trouverez peut-être ce fragment intéressant. (Poster en commentaire car je ne considère pas cette réponse :-))
InformationsquelleAutor Flackou | 2010-03-23