yka*_*ich 7 ruby ruby-on-rails http
我有一个表格的网址 http://www.example.com?foo=one&foo=two
我想要得到值的数组['one', 'two']的foo,但params[:foo]只返回第一个值.
我知道如果我使用foo[]而不是foo在URL中,那么params[:foo]会给我所需的数组.
但是,我希望尽可能避免更改URL的结构,因为它的表单作为规范提供给客户端应用程序.是否有一种很好的方法来获取所有值而不更改参数名称?
gtd*_*gtd 13
您可以使用默认的Ruby CGI模块来解析Rails控制器中的查询字符串,如下所示:
params = CGI.parse(request.query_string)
Run Code Online (Sandbox Code Playgroud)
这将给你你想要的东西,但请注意你不会得到任何Rails其他扩展来查询字符串解析,比如使用HashWithIndifferentAccess,所以你将不得不使用String而不是Symbol键.
另外,我不相信你可以用一行设置这样的参数并覆盖默认的rails参数内容.根据您希望此更改的广泛程度,您可能需要修补或修改内部结构.然而,如果你想要一个全局变化,那么快速的事情就是把它放在一个过滤器之前application.rb并使用一个新的实例var@raw_params
| 归档时间: |
|
| 查看次数: |
5738 次 |
| 最近记录: |