हर कोई।रेल की Activerecord तालिका स्वयं को कैसे संदर्भित कर सकती है?
SystemInfo < ActiveRecord::Base
belongs_to :SystemInfo
end
विचार, है प्रणाली एक अपने बच्चे के रूप में प्रणाली बी हो सकते हैं: मैं एक विचार ActiveRecord उपयोग करने के लिए कुछ नीचे दिए गए उदाहरण की तरह अजीब लागू करने के लिए की है। इसलिए मैं आवेदन के कंकाल उत्पन्न होगा के रूप में:
script/generate scaffold SystemInfo parent_id:integer name:string
और फिर, जब मैं डालने सिस्टम एक, मैं प्रणाली बी के PARENT_ID के रूप में सिस्टम एक की आईडी का उपयोग करेगा (सिस्टम एक के PARENT_ID 'शून्य' के लिए बराबर होगा और जब मैं का उपयोग करें। इस तरह आदेश:
sysA = SystemInfo.find_by_id(1) # Get System A
मुझे लगता है कि यह प्रणाली एक पाने के लिए संभव है, और यह बच्चा है, सिस्टम बी इसी रहे हैं:
sysA.childrens # Get System B and other SystemInfo which has parent_id == 1 (System A's ID)
आप दिशानिर्देश सुझाव है कि सकता है मुझे इस विचार को लागू करने के लिए मैं? थी एनके यह काफी आम विचार है और हमें इसे करना संभव है। ;)
धन्यवाद, एरिक। मैंने आपके समाधान की कोशिश की है, लेकिन जब मैं इसे कंसोल में रीस्टेट करता हूं तो यह नीचे जैसा कुछ दिखाता है: पुनः लोड करें! को पुन: लोड ... => true >> SysInfo.find (: सभी) SysInfo.find (: सभी) ArgumentError: अज्ञात कुंजी (ओं): वर्ग मैं रेल 2.3.3 का उपयोग करें। क्या आप मुझे समझा सकते हैं कि मैं आपके जैसा क्यों नहीं कर सकता? – Teerasej
मुझे पता चला कि मुझे क्या सुधारना है। मुझे 'वर्ग' के बजाय 'वर्ग_नाम' का उपयोग करने की आवश्यकता है (हो सकता है, यह नए रेल संस्करण से हो)। बहुत धन्यवाद, एरिक! मैं आपका जवाब चुनता हूँ! ;) – Teerasej
धन्यवाद, तेरसेज। मैंने जवाब सही होने के लिए अद्यतन किया। – erik