Generar una lista de archivos basada en una matriz

ntenté algunas cosas, pero esta semana siento que mi cerebro está de vacaciones y necesito completar esto ... así que espero que alguien pueda ayudarme.

Necesito crear una lista de archivos basada en un hash que se guarda en una base de datos. El has se ve así:

['file1', 'dir1/file2', 'dir1/subdir1/file3']

Output debería ser así:

file1 dir1 file2 subdir1 file3

en html, preferiblemente así (para extenderlo con js para plegar y multiseleccionar)

<ul>
  <li>file1
  <li>dir1</li>
  <ul>
    <li>file2</li>
    <li>subdir1</li>
    <ul>
      <li>file3</li>
    </ul>
  </ul>
</ul>

Estoy usando Ruby on Rails e intento lograr esto en una plantilla RJS. Pero esto realmente no importa. También puedes ayudarme con algunos pseudocódigos detallados.

Alguien sabe cómo resolver est

Edita

Gracias a todos por estas soluciones. El listado funciona, lo extendí a una solución plegable para mostrar / ocultar el contenido del directorio. Todavía tengo un problema: el código apunta a tener rutas de archivos completas en casillas de verificación detrás de las entradas para una sincronización. Basado en la solución de sris, solo puedo leer el archivo actual y sus subs, pero no toda la ruta desde la raíz. Para una mejor comprensión:

Actualmente

[x] dir1
    [x] dir2
        [x] file1

me da

una casilla de verificación con el mismo valor que muestra el texto, por ejemplo, "archivo1" para [x] archivo1. Pero lo que necesito es una ruta completa, por ejemplo, "dir1 / dir2 / file1" para [x] archivo1.

¿Alguien tiene otra pista sobre cómo agregar esto?

Respuestas a la pregunta(3)

Su respuesta a la pregunta