Я создал текстовый узел и вставил в мой документ как так:
#<Nokogiri::XML::Text:0x3fcce081481c "<%= stylesheet_link_tag 'style'%>">]>
Когда я пытаюсь сохранить документ с этим:
File.open('ng.html', 'w+'){|f| f << page.to_html}
Я получаю это в фактическом документе:
<%= stylesheet_link_tag 'style'%>
Существует ли способ отключить выход и сохранить мою страницу с моими неповрежденными тегами erb?
Спасибо!
Вы обязаны экранировать некоторые символы в текстовых элементах, например:
" "
' '
< <
> >
& &
Если вы хотите, чтобы ваш текст дословно использовал секцию CDATA, поскольку все внутри секции CDATA игнорируется анализатором.
Пример Nokogiri:
builder = Nokogiri::HTML::Builder.new do |b|
b.html do
b.head do
b.cdata "<%= stylesheet_link_tag 'style'%>"
end
end
end
builder.to_html
Это должно сохранить ваши erb-теги нетронутыми!