微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

ruby-on-rails – 如何从查询字符串中删除空值params

我有一个搜索表单,有很多选项,提交到有Get请求的路由. URL是这样的:
http://localhost:3000/restaurants/search?utf8=%E2%9C%93&city=&cuisine=&number_of_people=&query=hello

有更多的参数.我想让它更干净,比如删除所有空白的参数.

这样的事情:(基本上删除所有空白的参数)

http://localhost:3000/restaurants/search?query=hello

这该怎么做?

一种方法可以使用

CGI::parse("foo=bar&bar=foo&hello=hi")

给你

{"foo"=>["bar"],"hello"=>["hi"],"bar"=>["foo"]}

首先在用户之间重定向用户,并在操作之间检查哪些参数是空白并删除它们然后最终重定向他的实际搜索操作.但这听起来很蹩脚.我怎样才能以更好的方式做到这一点?

解决方法

我的解决方案是禁用空白输入并选择:
$('form').submit (e) ->
  $(@).find('select,input').map( (i,e) -> e.disabled = !$(e).val() )

关于删除utf8我发现this.所以我最好继续发送它.

在服务器上执行所有这些操作会在使用redirect_to时产生额外的请求,因此我更喜欢使用客户端代码.

原文地址:https://www.jb51.cc/ruby/269746.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐