Для многоуровневого хэша level1 я написал этот код,
{"1"=>{2=>0}}.map{|k,v| v.class!=Hash ? "#{k}=#{v}" : "#{k}=#{v.keys[0]}@#{v.values[0]}"}.join('&')
но это не может быть использовано для хэширования более одного уровня. Есть ли способ написать общий код или любой другой метод, доступный для преобразования многоуровневого хеша n уровней в строковый формат .