मैं एक मॉडल 'रिलेशन' बनाना चाहता हूं जो ActiveRecord :: Base को बढ़ाता है, इसे तालिका का नाम 'question_tags' के रूप में सेट करें, और प्राथमिक कुंजी के बिना। मुझे क्या करना चाहिए?रेल में प्राथमिक कुंजी के बिना मॉडल कैसे बनाएं
class Relation < ActiveRecord::Base
set_table_name 'questions_tags' # set table name, right?
# how to define 'no-pk'?
end
अद्यतन
हाय, दोस्तों। मुझे पता है कि 'create_table' का उपयोग इस समस्या को हल कर सकता है, लेकिन यह वही है जो मैं जानना चाहता हूं: create_table(:id=>false)
के पीछे जादू क्या है? create_table(:id=>false)
का उपयोग किए बिना मैं वही प्रभाव कैसे प्राप्त कर सकता हूं?
मेरे हिसाब से कोई जादू नहीं है। 'create_table' का एक अतिरिक्त विकल्प है, चाहे' id'-column बनाया जाना चाहिए या नहीं। बस इतना ही। जब आप "जादू" के लिए पूछ रहे हैं: क्या आपका मतलब कोड, एसक्यूएल-स्टेटमेंट जेनरेट किया गया है, या कुछ और ...? – nathanvda
यदि आप जानना चाहते हैं कि दृश्यों के पीछे क्या चल रहा है, तो मैं रेल एपीआई दस्तावेज में डिपर को खोदने का सुझाव दूंगा: http://api.rubyonrails.org/classes/ActiveRecord/Base.html, http: // api .rubyonrails.org/कक्षाएं/ActiveRecord/Migration.html, http://api.rubyonrails.org/classes/ActiveRecord/Associations/ClassMethods.html – auralbee
@ nathanvda, auralbee: दोनों धन्यवाद। मैं रेल के लिए नया हूं, शायद मुझे ActiveRecord के बारे में अधिक लेख पढ़ने की जरूरत है। – Freewind