2010-05-10 18 views
5

मैं थोड़ी देर के लिए कोशिश कर रहा हूं और आने वाले एक्सएमएल अनुरोध को एक सक्रिय रिकॉर्ड ऑब्जेक्ट में जा रहा हूं। मैंने ActiveRecordObject.new.from_xml विधि का उपयोग करने का प्रयास किया है लेकिन यह संबंधों को संभालने में प्रतीत नहीं होता है।रेल रिकॉर्ड एक्सएमएल सक्रिय रिकॉर्ड ऑब्जेक्ट

<blog> 
    <title></title> 
    <blog-pages> 
    <blog-page> 
     <page-number></page-number> 
     <content></content> 
    </blog-page> 
    </blog-pages> 
</blog> 

और मैं निम्नलिखित मॉडल वस्तुओं है:

class Blog < ActiveRecord::Base 
    has_many :blog_pages 

end 

class BlogPage < ActiveRecord::Base 
    belongs_to :blog 

end 

वहाँ एक रास्ता रिश्तों के साथ एक ब्लॉग वस्तु में एक्सएमएल कन्वर्ट करने के लिए है

उदाहरण के लिए, मैं निम्नलिखित एक्सएमएल है कहना ? या क्या मुझे XML को मैन्युअल रूप से पार्स करने की आवश्यकता है?

अग्रिम धन्यवाद।

उत्तर

1

मैं थोड़ी देर के लिए इस के खिलाफ मेरे सिर टकरा। ऐसा लगता है कि XML को ActiveRecord ऑब्जेक्ट्स मैन्युअल रूप से किए बिना मैप करने के लिए वहां बहुत कुछ नहीं है। जबकि मेरी ज़रूरतें आपके समान थीं, मुझे संबंधों के साथ एक वस्तु न करने की भी आवश्यकता थी, मुझे कई करने की ज़रूरत थी। मैंने कई जगहों पर देखा और कुछ भी नहीं मिला। मैंने इसे स्वयं हल करने का फैसला किया लेकिन महसूस किया कि यह एक लाइनर नहीं होने वाला था इसलिए एक मणि लिखा जो ActiveRecord बढ़ाया।

http://www.wayne-robinson.com/journal/2006/5/1/ruby-on-rails-activerecordbuild_from_xml-function.html

मेरी गैर विद्यमान खाली समय मैं अपने मणि समाप्त हो गया है और आप RubyGems पर भी देख सकते हैं में कुछ महीनों के बाद: https://rubygems.org/gems/xml_active

आशा इस मदद करता है मैं वेन रॉबिन्सन द्वारा काम के आधार पर:) चीयर्स,

माइकल

अद्यतन

xml_active अब आधिकारिक रूप से सेवानिवृत्त हो गया है और विकास अब डेटा_एक्टिव पर केंद्रित है (https://github.com/michael-harrison/data_active देखें) जिसमें xml_active की कार्यक्षमता है लेकिन भविष्य में रिलीज में मैं अन्य प्रारूपों का समर्थन करने के लिए काम कर रहा हूं

+0

बस एक त्वरित .. आपने क्या किया रास्ते से काम का विस्तार करें? – baash05

+0

@ डेवेटफ्लो, xml_active (अब डेटा_एक्टिव) मॉडल निर्भरताओं का आत्मनिरीक्षण करने के लिए वेन के काम पर आधारित था, फिर ऑब्जेक्ट मेमोरी बनाते थे। मणि डेटाबेस को नई ऑब्जेक्ट्स करने का अगला कदम उठाता है। यह हैसोन एसोसिएशन के लिए भी समर्थन प्रदान करता है जहां वेन का काम केवल सचमुच संभालता है। कई संगठन। संक्षेप में उनके काम ने मुझे मणि बनाने के लिए प्रेरित किया ताकि न केवल अपने खुजली को खरोंच कर सके बल्कि उम्मीद है कि दूसरों की मदद करें। हालांकि मैं केवल यह फिट बैठता हूं कि मैं उसे कुडोस देता हूं;) –

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