से अलग एक सक्रिय एडमिन या RailsAdmin के साथ DRY को कैसे रखा जाए, मैं JSON-only application बना रहा हूं, यह मूल रूप से कम मध्यमवर्ती और कम मॉड्यूल के साथ एक दुबला रेल है। यह एक आवेदन रेल 4 में बनाया जा रहा है।मुख्य अनुप्रयोग
मैं एक साधारण ऐप विकसित करना चाहता हूं जो मुख्य-ऐप के लिए डेटाबेस में डेटा को प्रशासित कर सके। इसके लिए मैं Active Admin या Rails Admin का उपयोग करना चाहता हूं। लेकिन दोनों विकल्प किसी भी तरह अंतर्निहित मॉडल और उनके सत्यापन, आवश्यकताओं और इस तरह के निर्माण के लिए उपयोग करते हैं।
इसका मतलब है कि मुझे मुख्य एप्लिकेशन और RailsAdmin एप्लिकेशन के बीच कम से कम मॉडल साझा करने की आवश्यकता है।
मैं यह कैसे करूँगा? क्या यह एकीकृत करने के बजाय, आपके मुख्य के बगल में एक अलग रेल ऐप में प्रशासन-एप्लिकेशन बनाने के तरीके पर एक अच्छी मार्गदर्शिका है?
एक साइड नोट के रूप में: व्यवस्थापक को मुख्य ऐप से अलग एप्लिकेशन में रखने का एक और अच्छा कारण है, लेकिन साझा डेटाबेस पर, निर्भरता के असंख्य हैं, ActiveAdmin जैसे मणि के साथ आता है।
यह भी ध्यान दें कि मुझे किसी भिन्न डोमेन या विभिन्न सर्वर पर व्यवस्थापक चलाने में दिलचस्पी नहीं है, लेकिन मुख्य रूप से मुख्य ऐप दुबला और केंद्रित रखने के लिए। और उन निर्भरताओं को रखने के लिए जिनके साथ ActiveAdmin की तरह कुछ मेरे मुख्य ऐप से आता है।
फ़ुटनोट:
- न तो ActiveAdmin है और न ही RailsAdmin अपने आप में प्रदर्शन के लिए समस्याएं हैं। यह है कि उन्हें मिडलवेयर की आवश्यकता होती है, जबकि एक JSON- केवल रेल-ऐप को केवल बहुत कम मॉड्यूल, हेल्पर्स और मिडलवेयर की आवश्यकता होती है! रेल-एपीआई, इस तरह के एक पतले ढेर प्रदान करता है। प्रदर्शन व्यवस्थापक बनाम कोई व्यवस्थापक नहीं है, लेकिन पूर्ण-रेल बनाम रेल-एपीआई है।
- प्रदर्शन मेरी मुख्य समस्या नहीं है, निर्भरता और ब्लोट है! अब मेरे पास एक रेल एप्लिकेशन है जो इतना पतला, केंद्रित और दुबला है, कि यह स्वयं को सिनात्रा ऐप्स के साथ माप सकता है :)। केवल तीन अतिरिक्त रत्न (प्रत्येक के कुछ निर्भरताओं के साथ) और मिडलवेयर का एक बहुत पतला ढेर के साथ, मैं बहुत आसानी से अपग्रेड, प्रबंधन और डिबग कर सकता हूं।
अधिक व्यावहारिक: मुझे क्या करना नहीं वसीयत (यह एक JSON-एपीआई, तो टोकन प्रमाणीकृत है) है, किसी भी विचार या टेम्पलेट इंजन नहीं है। कोई फॉर्मेटास्टिक, कोई पेपरक्लिप, रैमैजिक, कामारीरी (पेजर्स) और इतने पर और आगे नहीं। जब मैं "केवल एक व्यवस्थापक" खींचता हूं, तो सभी को मेरे ऐप में जोड़ा जाएगा।
मैं मॉडल कक्षाओं को एक मणि में निकालने में देखता हूं जिसे आप दोनों ऐप्स में आवश्यक हो सकते हैं। मुझे डर है कि मैं विशिष्ट सलाह नहीं दे सकता, क्योंकि मैंने वास्तव में ऐसा कभी नहीं किया है, लेकिन सिद्धांत रूप में इसे काम करना चाहिए। आपको डेटाबेस साझा करने की आवश्यकता होगी।yml फ़ाइल किसी भी तरह, या बस सुनिश्चित करें कि यह दोनों स्थानों पर अद्यतित रहता है। –
संकेत के लिए धन्यवाद। यह वास्तव में मेरे लिए एक बहुत अच्छा समाधान की तरह लगता है। – berkes