2009-10-30 23 views
13

एक एप्लिकेशन में मैं बिल्डिंग कर रहा हूं मैं acts_as_tree एसोसिएशन का उपयोग कर अपने डेटाबेस में एक एक्सएमएल फ़ाइल संग्रहीत कर रहा हूं। मैं XMLElement वर्ग का नाम देना चाहता हूं लेकिन पूंजीकरण गैर-मानक होने के बाद से यह रेल बंद हो जाता है। यह xml_element.rb फ़ाइल नाम से XMLElement की तलाश में है। मैंने फ़ाइल नाम को x_m_l_element.rb पर बदलने की कोशिश की और यह सोचने के लिए कि "एक्सएमएल" वास्तव में दो शब्द था, लेकिन यह काम नहीं करता था। क्या मुझे बस इसे चूसना चाहिए और अधिक XMLElement के बजाय XmlElement नाम का उपयोग करना चाहिए, या इस मुद्दे के आसपास कोई बेहतर तरीका है?संक्षेप के साथ मॉडलों के रेलों के अपरंपरागत नामकरण

उत्तर

10

कॉन्फ़िगरेशन मैन पर सम्मेलन। इसे चूसो

+0

मुझे लगा कि यह सबसे आसान समाधान था, लेकिन मुझे नहीं पता था कि इसे कॉन्फ़िगर करने का कोई तरीका था या नहीं, उदाहरण के लिए, रेल आपको अपने डेटाबेस तालिका का नाम कॉन्फ़िगर करने देता है यदि आपके पास कोई नाम बेहतर है, तो मैं सोचा कि यह भी कॉन्फ़िगर करने का एक तरीका हो सकता है। मैं इसे लेता हूं? –

+0

नीचे दिए गए उत्तर की जांच करें, आप इसके लिए ActiveSupport इन्फ्लेक्टर का उपयोग कर सकते हैं –

2

हां आपको XmlElement का उपयोग करना चाहिए।

न केवल इस उदाहरण के लिए बल्कि किसी एप्लिकेशन के हर पहलू के बारे में यह कभी भी सम्मेलनों को दूर करने के लिए भुगतान नहीं करेगा। रेल के हुड के नीचे जा रहा इतना 'जादू' है कि यह सिर्फ इसके लायक नहीं है।

25

config/initializers/inflections.rb पर निम्नलिखित जोड़ें।

ActiveSupport::Inflector.inflections(:en) do |inflect| 
    inflect.acronym 'XML' 
end 

अब चल $ rails g model XMLElement… एक वर्ग xml_element.rb नाम की एक फ़ाइल और एक संबद्ध तालिका xml_elements में XMLElement नामित पैदा करेगा।

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