Добавление HTML в мой канал RSS / Atom в Rails - PullRequest
8 голосов
/ 20 сентября 2008

Конструктор по умолчанию для рельсов XML экранирует весь 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>

вместо: foo

Есть ли способ дать указание сборщику XML не экранировать XML?

Ответы [ 3 ]

10 голосов
/ 20 сентября 2008

Оказывается, вам нужно сделать

entry.content "<b>foo</b>", :type => "html"

Хотя упаковка в CDATA останавливает его работу.

9 голосов
/ 18 апреля 2011
entry.content "type" => "html" do
    entry.cdata!(post.content)
end
0 голосов
/ 30 декабря 2008

http://builder.rubyforge.org/classes/Builder/XmlMarkup.html

Специальные символы XML <,> и & преобразуются в <,> и & автоматически. Используйте операцию << для вставки текста без изменений. </p>

...