URL 経由の場合{"foo" => "yo%20daddy"}
、params[:foo] は URI.encode とうまく連携し、次のように解決されます。
URI.encode("yo daddy")
#=> "yo%20daddy"
ただし、"foo" が JSON パラメーターとして指定されている場合は、そうではありません。
URI.encode("yo%20daddy")
#=> "yo%2520daddy"
これを標準化するソリューションは
URI.encode(URI.decode("yo daddy"))
#=> "yo%20daddy"
URI.encode(URI.decode("yo%20daddy"))
#=> "yo%20daddy"
しかし、それはまったくばかげているようです。より良いアイデアはありますか?