RailsでURLエンコードする方法

ERB::Utilを使う方法

>> ERB::Util.url_encode("http://www.foobar.jp/baz/?qux=123&quux=xyz")
=> "http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz"


CGIを使う方法

# エンコード
>> CGI.escape("http://www.foobar.jp/baz/?qux=123&quux=xyz")
=> "http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz"
# デコード
>> CGI.unescape("http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz")
=> "http://www.foobar.jp/baz/?qux=123&quux=xyz"


URIサポートライブラリを使う方法

# エンコード
>> URI.encode("http://www.foobar.jp/baz/?qux=123&quux=xyz")
=> "http://www.foobar.jp/baz/?qux=123&quux=xyz"
# デコード
>> URI.decode("http%3A%2F%2Fwww.foobar.jp%2Fbaz%2F%3Fqux%3D123%26quux%3Dxyz")
=> "http://www.foobar.jp/baz/?qux=123&quux=xyz"