2011-03-25 10 views
6

मैं सभी प्रकार की दीवारों को मार रहा हूं जो रेलवे को डैश के साथ एक्सएमएल अंडरस्कोर को बदलने से रोकने की कोशिश कर रहे हैं। मैं ActiveResource का उपयोग कर एक वेब सेवा में एक पोस्ट कर रहा हूं। मैंने इसके लिए फिक्स के सभी प्रकार की विविधताओं का प्रयास किया है, परिणाम रेलवे प्रारंभिक त्रुटियों से भिन्न होने के परिणामस्वरूप कोई प्रभाव नहीं पड़ता है। जिस वेब सेवा को मैं पोस्ट कर रहा हूं उसे अंडरस्कोर की आवश्यकता है।ActiveResource XML के साथ डैश के बजाय अंडरस्कोर का उपयोग करें (सेट: झूठी से dasherize)

अनिवार्य रूप से, अगर मैं जगह में निम्नलिखित प्राप्त कर सकते हैं, मैं अच्छा होना चाहिए:

http://rubydoc.info/docs/rails/2.3.8/ActiveResource/Base

:dasherize - Boolean option to determine whether or not element names should replace underscores with dashes. Default is true. The default can be set to false by setting the module attribute ActiveSupport.dasherize_xml = false in an initializer. 

से कोई व्यक्ति इस का एक उदाहरण दे सकते हैं? मैं दुर्भाग्य से एक तंग समयरेखा पर हूं, इसलिए यदि कोई सहायता प्रदान कर सकता है जो एक बड़ी मदद होगी।

धन्यवाद!

उत्तर

13

क्या आपने मॉड्यूल विशेषता को प्रारंभकर्ता में गलत पर सेट करने का प्रयास किया था?

ActiveSupport.dasherize_xml = false 

रेल 3+ आप अपनी प्रतिक्रिया के भीतर निम्न का उपयोग कर सकते हैं के लिए:

render :xml => object.to_xml(:dasherize => false) 

देखें बदसूरत monkeypatching दृष्टिकोण के लिए संपादन इतिहास।

+0

मैंने कोशिश की, लेकिन उस संपत्ति के पास ActiveSupport सहित कई त्रुटियां थीं। अगर कोई मुझे प्रारंभिक सेटिंग की एक उचित उदाहरण दे सकता है तो वह संपत्ति जो मुझे चाहिए जो मुझे चाहिए। अभी मैं प्रत्येक ActiveResource मॉडल – slimchrisp

+1

में केवल_xml को ओवरराइड कर रहा हूं यह देखने के लिए अद्यतन उत्तर की जांच करें कि यह किसी भी उपयोग का है या नहीं। आप इसे क्लीनर बनाने के लिए सक्रिय संसाधनों का अपना उप-वर्ग भी बढ़ा सकते हैं। – 20man

+0

+1। दो टिप्पणियां: 1) AFAIK 'प्रस्तुत करें: xml => object.to_xml (: dasherize => false) 'रेल 2 में काम करना चाहिए। 2) क्यों हैकिंग समाधान (अंतिम 2 स्निपेट) दिखाते हैं जब आप दो अन्य तरीकों से काम दिखाते हैं? अनावश्यक बंदरगाह को प्रोत्साहित न करें। – tokland

संबंधित मुद्दे