如何防止或转换URL中的转义百分比?

时间:2013-10-01 17:49:22

标签: ruby-on-rails ruby escaping

> params
=> {:d=>"http://lvh.me/images/no_avatar.png", :s=>"67"}

如果我这样做:

params.to_param

我明白了:

"d%3Dhttp%253A%252F%252Flvh.me%252Fimages%252Fno_avatar.png%26s%3D67=Object"

我只想要的地方:

http://lvh.me/images/no_avatar.png

我的第一个想法是做params[:d],但这看起来有点像黑客。有什么建议吗?

1 个答案:

答案 0 :(得分:2)

这就是我所看到的

require 'uri'

enc_uri = URI.escape("http://example.com/?a=\111\\115")
p enc_uri
# => "http://example.com/?a=%09%0D"

p URI.unescape(enc_uri)
# => "http://example.com/?a=\t\r"