ruby-on-rails – Rails 3查询字符串

前端之家收集整理的这篇文章主要介绍了ruby-on-rails – Rails 3查询字符串前端之家小编觉得挺不错的,现在分享给大家,也给大家做个参考。
这里很奇怪的错误我们正确地收到了一个像“/ users / 8788234”这样的请求

在Rails中,我们称之为:

redirect_to(:controller => 'login',:from_external_page => true,:on_login => request.env['REQUEST_URI']) and return

我们在Rails日志中看到(正如我们预期的):
重定向

https://sampleapp.com/login?from_external_page=true&on_login=%2Fusers%2F8788234

但是,从IP看到的下一个请求中,查询字符串的值被加扰:

Started GET "/login?from_external_page=gehr&on_login=%2Shfref%2S8788234" for xx.xxx.xxx.xxx at yyyy-mm-dd

这将使查询字符串值无意义,并导致以下错误

ArgumentError: invalid %-encoding

(该/被更改为%2S无效).查询字符串中每个键值对的每个单个值都被移动了13个字符.每次我们看到这一点,用户代理读取:“Mozilla / 5.0(兼容; MSIE 9.0; Windows NT 6.1; WOW64; Trident / 5.0)”,但我们也看到用户代理成功导航应用程序.有没有人见过这样的东西? http://www.whatismybrowser.com/告诉我,这个用户代理是在Windows 7上运行的IE9,但是我们还没有能够重现错误.

解决方法

这当然是编码问题.我现在使用Rails 4,以下是我当前项目的示例查询字符串.请注意,querystring中的第一个参数是在您的querystring中缺少的“utf8 =✓”.
profiles?utf8=✓&min_age=1&max_age=99&min_height=1&max_height=6&min_weight=1&max_weight=400

尝试添加“# encoding: UTF-8 at the beginning of the file”

原文链接:https://www.f2er.com/ruby/272702.html

猜你在找的Ruby相关文章