如何从 Ruby 中的参数中的 URL 获取电子邮件(带有“+”)

How to get email (having '+') from URL in Parameters in Ruby

当我点击页面时/login?email=abc+dev@xyz.com 在 Ruby 的控制器中, 参数是:{"email"=>"abc dev@xyz.com"}

此参数中缺少

+。 在参数中获取电子邮件的正确方法是什么? 编码 URI 将给我相同的(即 URI::encode("abc+dev@xyz.com") 等于 "abc+dev@xyz.com"

您可以使用Rack::Utils.escape()

Rack::Utils.escape("abc+dev@xyz.com")
# => "abc%2Bdev%40xyz.com"

或者 Javascript 你可以使用 encodeURIComponent()

encodeURIComponent("abc+dev@xyz.com")
"abc%2Bdev%40xyz.com"