Добавление HTML в мой канал RSS / Atom в Rails
-
01-07-2019 - |
Вопрос
Rails XML builder по умолчанию экранирует весь HTML, поэтому что-то вроде:
atom_feed do |feed|
@stories.each do |story|
feed.entry story do |entry|
entry.title story.title
entry.content "<b>foo</b>"
end
end
end
подготовит текст:
<b>foo</b>
вместо того, чтобы: фу
Есть ли какой-нибудь способ проинструктировать XML builder не экранировать XML?
Решение
оказывается, вам нужно сделать
entry.content "<b>foo</b>", :type => "html"
хотя, обернув его в CDATA, он перестает работать.
Другие советы
entry.content "type" => "html" do
entry.cdata!(post.content)
end
http://builder.rubyforge.org/classes/Builder/XmlMarkup.html
Специальные символы XML <, >, и & преобразуются в <, > и & автоматически.Используйте << операция по вставке текста без изменений.
Не связан с StackOverflow