Si vous créez une URL avec des paramètres de requête ajoutés à une URL avec une chaîne telle que https: // xxxx
, les paramètres de requête doivent être convertis sous une forme spéciale.
Vous devez exécuter encodeURIComponent
en JavaScript.
Cela fait de "+" à "% 2B" et "de" à "% 26".
Ruby utilise CGI.escape
.
require 'cgi'
CGI.escape('+ &') # => "%2B+%26"
Essayez de construire une URL en utilisant CGI.escape
.
Il y a beaucoup de choses qui peuvent être améliorées, comme l'utilisation de hachages, mais voici un modèle simple.
"https://samole.com?key={CGI.escape(value)}"
Je pense qu'il est peu probable d'utiliser un caractère spécial pour «key», donc seule «value» est échappée.
Si key
s'échappe également,
Vous pouvez vous référer à https://github.com/rails/rails/blob/3-0-stable/activesupport/lib/active_support/core_ext/object/to_query.rb.
Recommended Posts