سؤال

لدي ملف XML وأريد عرضه (تقديم) كما هو للمستخدم، أي أريد أن أبقي العلامات. كيف يجب أن أفعل في ror؟

لقد حاولت render :file=>"/path/to/file.xml", ، ولكن العلامة <product> اختفى.

//file.xml
<product>car</product>

تحديث: لقد وجدت السلوك هو المباحث المعال

  • Mozilla / 5.0 (X11؛ U؛ Linux i686؛ en-US؛ RV: 1.9.0.3) Gecko / 2008101315 Ubuntu / 8.10 (Intrepid) Firefox / 3.0.3

    يتم الاحتفاظ العلامات.

  • Mozilla / 5.0 (Windows؛ U؛ Windows NT 5.1؛ ZH-CN؛ RV: 1.9.0.15) Gecko / 2009101601 Firefox / 3.0.15

    اختفت العلامات.

هل كانت مفيدة؟

المحلول

هل حاولت إضافة

:content_type => 'application/xml'

إلى خط تقديم الخاص بك؟

render :file=>"/path/to/file.xml", :content_type => 'application/xml'

نصائح أخرى

مستعرضات مختلفة عرض XML بشكل مختلف. يحاول البعض أن يكون ذكي, ، آخرون لا. لا يمكنك الاعتماد على ذلك. إذا كنت ترغب في عرض XML "كما هو الحال"، فأنت بحاجة إلى التجسيد XML CASPED كنص.

في إجراء جهاز التحكم الخاص بك، عليك الاتصال بهذا

render :text => @template.h(File.read("/path/to/file.xml"))

سيؤدي ذلك إلى الهروب من جميع أتش تي أم أل لك وتكون بمثابة نص عادي.

أضف خط صور XML إلى الملف (بالإضافة إلى اقتراح نوع المحتوى من Jhwist).

<?xml version="1.0"?>

أو الأفضل من ذلك

render :text => File.read("/path/to/file.xml"), :content_type => 'application/xml'
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top