मेरे पास एक मॉडल House
है जिसमें कई बूलियन गुण हैं, जैसे has_fireplace
, has_basement
, has_garage
, और इसी तरह। House
में लगभग 30 ऐसे बूलियन गुण हैं। कुशल डेटाबेस भंडारण और खोज के लिए इस मॉडल को ढांचा बनाने का सबसे अच्छा तरीका क्या है?रेल में, मॉडल में एकाधिक बूलियन विशेषताओं को स्टोर करने का सबसे अच्छा तरीका क्या है?
मैं आखिरकार सभी Houses
खोजना चाहता हूं जिसमें फायरप्लेस और गेराज है, उदाहरण के लिए।
बेवकूफ तरीका, मुझे लगता है कि मॉडल में 30 कॉलियन विशेषताओं को जोड़ना होगा जो प्रत्येक डेटाबेस में एक कॉलम से मेल खाते हैं, लेकिन अगर मैं रेल की सबसे अच्छी प्रैक्टिस करता हूं तो मुझे उत्सुकता है।
सहमत हुए। यदि आप चाहें, तो घर से संबंधित एक अलग मॉडल में सभी बूलियन होने के लिए यह बहुत आसान हो सकता है, जैसे घर है_one: feature_set (या कुछ), और फीचर सेट में सभी बूलियन हैं। फिर आप कुछ चीनी के लिए वर्चुअल एट्रिब्यूट का उपयोग कर सकते हैं, जैसे हाउस मॉडल def has_fireplace ?; self.feature_set.fireplace; अंत –
धन्यवाद, यहोशू और जॉन। जॉन, क्या अलग-अलग बनाने में बड़ी जीत है: फीचर_सेट मॉडल सभी बूलियन स्टोर करने के लिए? क्या आप दृढ़ मॉडल डिजाइन की दृढ़ता से अनुशंसा करेंगे? क्योंकि यदि नहीं, तो मुझे लगता है कि मैं सिर्फ यहोशू के "घरों में कॉलम जोड़ना" दृष्टिकोण के साथ जाऊंगा। – Sanjay
नहीं, संगठनात्मक कारणों को छोड़कर चीजों को अलग करने का कोई वास्तविक कारण नहीं है, अगर आपको अपना "घर" मॉडल बहुत गन्दा हो रहा है तो बस एक विकल्प। –