Ядро Ruby REXML :: Документ имеет красивую печать:
REXML::Document#write( output=$stdout, indent=-1, transitive=false, ie_hack=false )
Отступ: целое число.Если -1, отступ не будет использоваться;в противном случае отступ будет вдвое больше числа пробелов, а потомкам будет добавлен дополнительный отступ.При значении 3 каждый элемент будет иметь отступ на 3 уровня или на 6 пробелов (2 * 3).По умолчанию -1
Пример:
require "rexml/document"
doc = REXML::Document.new "<a><b><c>TExt</c><d /></b><b><d/></b></a>"
out = ""
doc.write(out, 1)
puts out
Производит:
<a>
<b>
<c>
TExt
</c>
<d/>
</b>
<b>
<d/>
</b>
</a>
РЕДАКТИРОВАТЬ: На Rails уже загружен REXML,так что вам нужно только создать новый документ, а затем записать печатный XML-код в какую-то строку, которая затем может быть встроена в тег .