سؤال

يتخطى منشئ 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>

بدلاً من: foo

هل هناك أي طريقة لإرشاد منشئ 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 الخاصة < و> و& إلى < و> و& تلقائيًا.استخدم العملية << لإدراج نص بدون تعديل.

مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top