为什么不URI.escape逃避单引号?
URI.escape("foo'bar\" baz")
=> "foo'bar%22%20baz"
Run Code Online (Sandbox Code Playgroud)
mol*_*olf 10
出于同样的原因,它不逃避?或/或者:,等等.URI.escape()只转义根本不能在URL 中使用的字符,而不是具有特殊含义的字符.
你在寻找的是CGI.escape():
require "cgi"
CGI.escape("foo'bar\" baz")
=> "foo%27bar%22+baz"
Run Code Online (Sandbox Code Playgroud)