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

时间:2015-11-20 18:10:59

标签: javascript ruby ruby-on-rails-3 encodeuricomponent

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

这个parmas中缺少

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

1 个答案:

答案 0 :(得分:3)

您可以使用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"