Rails の RSS/Atom フィードに HTML を追加する
-
01-07-2019 - |
質問
デフォルトの Rails 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>
の代わりに: ふー
XML ビルダーに 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