将参数作为数组而不是Rails中的字符串传递获取请求

时间:2018-07-20 13:34:53

标签: ruby-on-rails ruby

我试图触发以数组格式传递参数的网址

http://localhost:3000/abc/23?field_selectors=['surname', 'firstname']

当我尝试获取此参数时,它以类似字符串的形式出现

[2] pry(#<PersonController>)> params[:field_selectors] => "['surname', 'firstname']"

我试图从两端删除"",但它再次返回一个字符串。

"['surname', 'firstname']".chomp('"').reverse.chomp('"').reverse

上面的实现非常愚蠢,但是我尝试过

现在我很困惑如何将给定的字符串转换为数组,或者如何直接将参数作为数组获取。

1 个答案:

答案 0 :(得分:1)

如果您想将参数注册为Rails的参数解析代码的数组,请在参数的末尾附加[]

http://localhost:3000/abc/23?field_selectors[]=surname&field_selectors[]=firstname

params[:field_selectors]随后将自动解析为字符串数组。