2015-01-08 2 views
0

Я новичок в Rails, и у меня проблема, и я понятия не имею, как ее решить. Пробовал с Google, но не повезло.IO.readlines с включенными пробелами - Ruby on Rails

В основном у меня есть текстовый файл, в котором я использую IO.readlines, чтобы прочитать файл, поместить в массив и затем распечатать его в моем представлении. Я получил эту работу.

Проблема заключается в том, что текстовый файл, который я читал, имеет отступы, и когда я распечатываю его в своем представлении из массива, пространства ввода не включаются.

Так выглядит код на данный момент.

Контроллер

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

Посмотреть

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

Может быть, я даже не предполагается использовать readlines? В любом случае ...
Очень благодарен за любую помощь, которую я могу получить!

ответ

0

Ваша проблема заключается в том, что HTML игнорирует несколько пробелов в коде. Если вы проверите источник HTML, вы увидите пробелы, но они не отображаются.

Вы должны использовать <pre> тег, который выступает за «преформатированный», чтобы сохранить пробельные:

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

Кроме того, вы, вероятно, захотите изменить его на <%= x.chomp %> который оставит от дополнительного символа новой строки.

+0

Ну, это было легко. Большое спасибо! – Riggs