0
由哈希我有一个查询字符串,如下所示的URL:提取红宝石
http://localhost:3000/events?appointment_practices%5B10%5D=Injury&appointment_practices%5B18%5D=Immigration&appointment_practices%5B8%5D=Bankruptcy
appointment_practices其实是我一个重定向时插入查询字符串的哈希:
appointment_practices = practices.reduce({}) do |acc, practice|
acc[practice.id] = practice.class.name
acc
end
redirect_to events_path(appointment_practices: appointment_practices)
现在我想分析该查询字符串。当我试图用decode_www_form解析它,它返回一个零元素的数组:
[nil]
这是给我的零元素的代码:
@http_refer = @_env['HTTP_REFERER']
begin
uri = URI.parse @http_refer
practices = Hash[URI::decode_www_form(uri.query)].values_at('appointment_practices')
puts "practices: #{practices}"
rescue StandardError
end
我试图提取哈希值。例如,在appointment_practices%5B10%5D =伤害中,id是10,练习是伤害。
除了正则表达式,我还有其他的选择吗?
我与机架周围涉足:: Utils.parse_query。但你有什么看起来更好。 – Donato 2014-11-05 22:19:04