【发布时间】:2011-03-05 11:26:47
【问题描述】:
我正在向我的 Rails 站点添加全文搜索,并允许用户在搜索输入框中输入双引号。问题是双引号似乎被 Mongrel 过滤掉了,所以我从来没有在 params 哈希的值中收到这些引号。我该如何防止这种情况发生?我正在运行 Rails 2.3.8。
[编辑:添加分析数据]
在 Firebug 中,我看到 post 参数用引号正确发布:
search_criteria "great post"
然而,在开发日志中,引号不见了:
处理 PostsController#search (for 127.0.0.1 在 2010-06-18 17:28:45) [POST] 参数: {"search_criteria"=>"很棒的帖子", "动作"=>"搜索", "authenticity_token"=>"xUaOc1IAyjQmKn1NGqBpPVaTBmD4ayPq/lUJsqJGCxY=", “控制器”=>“帖子”}
当我在控制器中记录 params[:search_criteria] 的内容和大小时,我得到:
search criteria = great post
search criteria size = 10
[编辑:新发现] 当引用的字符串尾随或前面有另一个字符时,不会发生上述问题,例如一个空格。
【问题讨论】:
-
你确定他们被过滤掉了吗?您可以发布记录的 params 哈希吗?
-
非常肯定,是的。查看添加的分析数据。
标签: ruby-on-rails mongrel rack