8

デフォルトの 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 をエスケープしないように指示する方法はありますか?

4

3 に答える 3

10

あなたがする必要があることがわかりました

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

ただし、CDATA でラップすると機能しなくなります。

于 2008-09-20T00:48:36.227 に答える
9
entry.content "type" => "html" do
    entry.cdata!(post.content)
end
于 2011-04-18T18:03:22.313 に答える
0

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

XML の特殊文字 <、>、および & は、自動的に <、>、および & に変換されます。<< 操作を使用して、テキストを変更せずに挿入します。

于 2008-12-30T13:47:21.593 に答える