Ruby on rails 防止rails转义url参数中的特殊字符
我有如下要求: /活动/info/2.json?query=campaign_info&resource=2&ts=1355348205&sig=%2B%5Cx97%5Cx19D%5C%22%5Cx15%5B%5CxE7J%5CtyTiA*%3D%3A%2B%5CxCE'8q%5CxF9%20Fl%24B%5Cx8D%5Cx118%5Cr%25%5CxFC%5CxFC%5cxf98-%5CxA33%5cxfxf4%5Cx0F!w%24%5CxD4M%5Cx1D%5CxE5J%2B%5Ce%5Cx94%5B%5Cx8J%5Cx1A%5CxB8g%5Ca%5D0%3Bf 当我的rails服务器收到此请求时,它将params[:sig]确定为:Ruby on rails 防止rails转义url参数中的特殊字符,ruby-on-rails,escaping,Ruby On Rails,Escaping,我有如下要求: /活动/info/2.json?query=campaign_info&resource=2&ts=1355348205&sig=%2B%5Cx97%5Cx19D%5C%22%5Cx15%5B%5CxE7J%5CtyTiA*%3D%3A%2B%5CxCE'8q%5CxF9%20Fl%24B%5Cx8D%5Cx118%5Cr%25%5CxFC%5CxFC%5cxf98-%5CxA33%5cxfxf4%5Cx0F!w%24%5CxD4M%5Cx1D%5CxE5J%2B%5Ce%5Cx
+\\x97\\x19D\\\"\\x15[\\xE7J\\tyTiA*=:+\\xCE'8q\\xF9 Fl$B\\x8D\\x118\\r%\\xFC\\x98-\\xA33\\xF4\\x0F!w$\\xD6d4m\\x1D\\xE5J+\\e\\x94[\\x88j\\x1A\\xB8g\\a]0;f
+\x97\x19D\"\x15[\xE7J\tyTiA*=:+\xCE'8q\xF9 Fl$B\x8D\x118\r%\xFC\x98-\xA33\xF4\x0F!w$\xD6d4m\x1D\xE5J+\e\x94[\x88j\x1A\xB8g\a]0;f
当我真的希望params[:sig]为:
+\\x97\\x19D\\\"\\x15[\\xE7J\\tyTiA*=:+\\xCE'8q\\xF9 Fl$B\\x8D\\x118\\r%\\xFC\\x98-\\xA33\\xF4\\x0F!w$\\xD6d4m\\x1D\\xE5J+\\e\\x94[\\x88j\\x1A\\xB8g\\a]0;f
+\x97\x19D\"\x15[\xE7J\tyTiA*=:+\xCE'8q\xF9 Fl$B\x8D\x118\r%\xFC\x98-\xA33\xF4\x0F!w$\xD6d4m\x1D\xE5J+\e\x94[\x88j\x1A\xB8g\a]0;f
如何获得第二个输出
谢谢。我终于做到了:
while str.gsub!(/[^0-9A-Za-z]/, ''); end
但因为我只需要0-9和a-z。希望这有帮助 由于历史原因,双反斜杠是必要的。所以,这是不可避免的。但是,这取决于你的使用目的。若您只在视图中显示它,那个么它不会显示为双斜杠。如果它以某种方式显示,那么您可以使用html_safe在视图中显示。另一方面,如果您将其用于内部目的,即模型或控制器,则无需仅为了显示而将\\替换为\即可。