मैं "ग्रीन अतिरिक्त-बड़े, टी-शर्ट" जैसे उत्पादों को बेचने के लिए एक ऑनलाइन स्टोर बना रहा हूं। हां, एक ही शर्ट में कई आकार/रंग हो सकते हैं, अलग-अलग संयोजन बेचे जा सकते हैं, विभिन्न संयोजनों में अलग-अलग कीमतें हो सकती हैं, आदिऑनलाइन स्टोर एप्लिकेशन में "उत्पादों" का मॉडल कैसे करें
मेरा सवाल यह है कि मुझे इन उत्पादों को अपने रेल एप्लिकेशन में कैसे मॉडल करना चाहिए (या वास्तव में कैसे इसे किसी भी आवेदन में करें)।
मेरे वर्तमान सोच है:
Class Product
has_many :variants, :through => :characteristics
has_many :characteristics
end
Class Characteristic
belongs_to :product
belongs_to :variants
end
Class Variant
has_many :products, :through => :characteristics
belongs_to :characteristic
end
इसलिए प्रत्येक उत्पाद एक या अधिक विशेषताओं (जैसे, "रंग", "आकार", आदि), और प्रत्येक विशेषता तो एक या अधिक वेरिएंट होगा (होगा उदाहरण के लिए, "लाल", "नीला", आदि)।
इस विधि के साथ समस्या है जहां मैं मूल्य और सूची स्टोर करता हूं? आईई, एक दिए गए उत्पाद की कीमत और सूची उनके विशेषताओं के रूपों द्वारा निर्धारित की जाती है। (हरा लाल से अधिक महंगा हो सकता है, बड़े स्टॉक से बाहर हो सकता है, आदि)।
एक विचार था कि मुझे उत्पादों को "बेस_प्रिस" देना था, और वेरिएंट इसे संशोधित करने दें, लेकिन यह अत्यधिक जटिल (और काम नहीं कर सकता) लगता है।
यह अच्छी सलाह है। कंपनी में मैं काम करता हूं क्योंकि हमारे पास केवल दो टेबल हैं - उत्पाद और उत्पाद इटिम - और रंग और आकार ठीक से सामान्य नहीं किया गया था। यह रंग-विशिष्ट छवियों को एक पूर्ण दुःस्वप्न का प्रबंधन/जोड़ता है। इस तरह मैं यह करूँगा; रंग और आकार प्रथम श्रेणी की अवधारणाएं हैं .... –
... और हमने उन परिदृश्यों में भाग लिया है जहां "थाईलैंड में चिल्लाया जाता है लेकिन गोरे चीन से हैं", लेकिन चूंकि हम इसे उत्पाद स्तर पर स्टोर करते हैं, हम कर सकते हैं मॉडल नहीं है और एसकेयू को डुप्लिकेट करना समाप्त करता है, जो अन्य समस्याओं का कारण बनता है। लचीला होने के नाते लेकिन सामान्य परिदृश्यों के लिए यूआई प्रदान करना +1 सलाह है। –
धन्यवाद निकोलस। यह सलाह यह मानकर अक्सर जला दी जा रही है कि "आसान" विशेषताओं को मुख्य तालिका में भर दिया जा सकता है। मैं आसानी से देख सकता हूं कि "रंग" तालिका अंततः मतभेदों को सोर्सिंग के कारण अधिक विशेषताओं को प्राप्त करती है। एक बार मुझे बेवकूफ बनाओ... – Godeke