「&」も「 (スペース)」もエンコードしたいと考えた時に、
[1] pry(main)> URI.escape('hoge&hoge hoge')
=> "hoge&hoge%20hoge"
[2] pry(main)> CGI.escape('hoge&hoge hoge')
=> "hoge%26hoge+hoge"
となって希望の形にならなかった。
最終的に見つけた解はこれ。
[3] pry(main)> require 'erb'
[4] pry(main)> ERB::Util.url_encode('hoge&hoge hoge')
=> "hoge%26hoge%20hoge"
良かった。
コメント