2016-06-12 3 views
0

Я пытаюсь показать строку с содержимым xml (правильно с пробелами и т. Д.) В виде рельсов.Rails String in View с пробелами

Действие моего контроллера читает XML-файл и помещает это содержимое в строку. Например

@xml_content = " 
    <main> 
     <children> 
     <a> 
     </a> 
     <b> 
     </b> 
     </children> 
    </main> 
    " 

Тогда я получаю эту строку из моего контроллера и хочу показать это содержание XML в представлении.

<%= @xml_content %> 

Но когда я печатаю эту строку в представлении все пробелы заблудиться и я получаю что-то вроде этого:

 <main><children><a></a><b></b></children></main> 

Printing ту же строку в консоли с «ставит @xml_content» создать правильный вывод.

Что я могу сделать, чтобы показать это содержимое xml со всеми пробелами в представлении?

EDIT: Контроллер:

@file = File.open(@xml_device_description.get_file_path) 

@xml_content = Nokogiri::XML @file 

ответ

2

Чтобы сохранить пробелы в содержимом, вы можете обернуть его в тег pre.

<pre> 
<%= @xml_content %> 
</pre> 
+0

О, хорошо. Это рабочий метод. Thx :) – Kumaro

+0

Есть ли возможность форматировать строку или использовать подсветку синтаксиса? – Kumaro

-1

Попробуйте что-то вроде

@xml_content = <<-XML 
    <main> 
     <children> 
     <a> 
     </a> 
     <b> 
     </b> 
     </children> 
    </main> 
XML 

Я выбираю XML в качестве имени, но вы можете использовать все, что вы хотите. Я использовал этот способ для форматирования raw SQL в моем коде.