/ / IO.readlines avec espaces inclus - Ruby on Rails - ruby-on-rails, espacement, lignes de lecture

IO.readlines avec espaces inclus - Ruby on Rails - ruby-on-rails, espacement, lignes de lecture

Je suis un nouveau venu chez Rails et j’ai un problème et je ne sais pas comment le résoudre. Essayé avec google mais sans succès.

En gros, j’ai un fichier texte que j’utilise IO.readlines pour lire le fichier, le placer dans un tableau puis le faire imprimer dans ma vue. Je travaille ça.

Le problème est que le fichier texte que j'ai "lu" a des indentations et lorsque je l'imprime à mon avis dans le tableau, les espaces d'indentation ne sont pas inclus.

Voici à quoi ressemble le code pour le moment.

Manette

 @codefile = Codefile.find(session[:codefile_id])
dir = @codefile.file.url.to_s
url = dirr.split("?")
@fileLinesArray = IO.readlines("public" + url[0])

Vue

<ol>
<% @fileLinesArray.each do |x| %>
<li><%= x %></li>
<% end %>
</ol>

Peut-être que je ne suis même pas supposé utiliser des lignes de lecture? En tout cas ...
Très reconnaissant pour toute aide que je peux obtenir!

Réponses:

0 pour la réponse № 1

Votre problème est que HTML ignore plusieurs espaces dans le code. Si vous cochez la source HTML, vous verrez que les espaces sont présents, mais qu’ils ne sont pas rendus.

Vous devez utiliser le <pre> tag, qui signifie "préformaté" pour préserver les espaces:

<ol>
<% @fileLinesArray.each do |x| %>
<li><pre><%= x %></pre></li>
<% end %>
</ol>

Aussi, vous voudrez probablement le changer en <%= x.chomp %> ce qui laissera le caractère extra newline.