gpt4 book ai didi

ruby-on-rails - 如何从 Rails 中的 URL 查询解析多值字段

转载 作者:数据小太阳 更新时间:2023-10-29 06:56:59 26 4
gpt4 key购买 nike

我有一个形式为 http://www.example.com?foo=one&foo=two

的 URL

我想为 foo 获取一组值 ['one', 'two'],但是 params[:foo]只返回第一个值。

我知道,如果我在 URL 中使用 foo[] 而不是 foo,那么 params[:foo] 会给我所需的数组。

但是,我想尽可能避免更改 URL 的结构,因为它的形式是作为规范提供给客户端应用程序的。有没有什么好的方法可以在不改变参数名的情况下获取所有的值?

最佳答案

您可以使用默认的 Ruby CGI 模块来解析 Rails Controller 中的查询字符串,如下所示:

params = CGI.parse(request.query_string)

这会给你想要的,但请注意,你不会得到任何 Rails 的其他扩展来查询字符串解析,例如使用 HashWithIndifferentAccess,所以你将不得不使用 String 而不是符号键。

此外,我认为您不能用一行设置这样的参数并覆盖默认的 rails 参数内容。根据您希望此更改的广泛程度,您可能需要对内部进行一些猴子修补或破解。但是,如果您想要进行全局更改,最快捷的方法是将其放入 application.rb 的前置过滤器中,并使用一个新的实例变量,例如 @raw_params

关于ruby-on-rails - 如何从 Rails 中的 URL 查询解析多值字段,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/753067/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com