आप रेल्स सीख रहे होंगे और आपने पढ़ा होगा कि आपको अपना रेल्स एप्लिकेशन शुरू करने के लिए "स्कैफोल्ड" बनाना होगा...
आसान!
आप rails g scaffold कमांड का उपयोग करके ऐसा कर सकते हैं।
लेकिन स्कैफोल्डिंग क्या है?
“स्कैफोल्डिंग एक अस्थायी संरचना है जिसका उपयोग निर्माण, रखरखाव और इमारतों, पुलों और अन्य सभी मानव-निर्मित संरचनाओं की मरम्मत में कार्य दल का समर्थन करने के लिए किया जाता है।” – विकिपीडिया
रेल्स में अनुवादित:
एक स्कैफोल्ड स्वचालित रूप से उत्पन्न फ़ाइलों का एक सेट है जो रेल्स प्रोजेक्ट की मूल संरचना बनाता है।
इन फ़ाइलों में शामिल हैं:
- एक कंट्रोलर
- एक मॉडल
- हर मानक कंट्रोलर एक्शन के लिए व्यूज (index, edit, show, new)
एक नया रूट।
और आपके डेटाबेस को तैयार करने के लिए एक माइग्रेशन।
आइए एक उदाहरण देखें!
रेल्स स्कैफोल्ड कमांड का उपयोग कैसे करें
किताबों के बारे में वेबसाइट के लिए प्रोजेक्ट को स्कैफोल्ड करने का एक उदाहरण इस तरह दिखेगा।
rails g scaffold books
आपको बहुत सारा टेक्स्ट स्क्रॉल होता हुआ दिखाई देगा, जो बनाई जा रही फ़ाइलों का विवरण देता है।
यह उदाहरण बनाता है:
- एक
BooksController - एक
Bookमॉडल - आपके
config/routes.rbफ़ाइल में एक नयाresources :booksरूट जोड़ा गया - टेस्टिंग-संबंधित फ़ाइलों का एक सेट
app/views/booksके तहत व्यू फ़ाइलें (कुल पांच)
हाँ।
यह बहुत सारा सामान है।
यदि आप इसे बनाने के तुरंत बाद इस स्कैफोल्डिंग को पूर्ववत करना चाहते हैं, तो आप निम्न कमांड का उपयोग कर सकते हैं।
rails d scaffold books
जहां "d" का अर्थ "destroy" है।
ध्यान रखें कि यह स्कैफोल्डिंग प्रक्रिया द्वारा बनाई गई फ़ाइलों को हटा देगा।
अब:
इससे पहले कि आप अपने स्कैफोल्डेड कोड का उपयोग कर सकें, आपको अपने डेटाबेस स्कीमा को अपडेट करने के लिए अपनी माइग्रेशन चलानी होगी।
rails db:migrate कमांड का उपयोग करें।
यदि कोई त्रुटि संदेश दिखाई नहीं देता है, तो आप तैयार हैं! आपके पास अपने नए रेल्स एप्लिकेशन के लिए, या एक नई सुविधा के लिए एक बुनियादी संरचना है जिसे नए मॉडल, व्यूज और संबंधित कंट्रोलर की आवश्यकता है।
अगला:
rails server चलाएं।
अपने ब्राउज़र को localhost:3000/books पर खोलें और आपको परिणाम देखने में सक्षम होना चाहिए!
अतिरिक्त फ़ील्ड्स के साथ रेल्स स्कैफोल्डिंग
डिफ़ॉल्ट रूप से...
आपके मॉडल को केवल टाइमस्टैम्प फ़ील्ड मिलते हैं, जिसका अर्थ है कि आप अपनी किताबों (या जिस भी मॉडल के साथ आप काम कर रहे हैं) के बारे में केवल वही जानकारी रिकॉर्ड कर सकते हैं जो समय पर वे बनाई गई थीं, या अपडेट की गई थीं।
अतिरिक्त फ़ील्ड्स के साथ स्कैफोल्ड करने का तरीका यहां है:
rails g scaffold books title:string author:string publication_year:integer
यदि आप इस तरह अपना स्कैफोल्डिंग उत्पन्न करते हैं, तो आपके पास काम करने के लिए 3 फ़ील्ड होंगे।
एक शीर्षक, एक लेखक, और एक प्रकाशन वर्ष।
यह केवल डेटाबेस टाइमस्टैम्प होने से थोड़ा अधिक दिलचस्प है।
बात दें।
यह वही सिंटैक्स है जिसका उपयोग हम rails g migration के साथ माइग्रेशन बनाने के लिए करते हैं।
विशिष्ट घटक उत्पन्न करना
स्कैफोल्डिंग उन चीजों को बनाता है जिनकी आपको अभी आवश्यकता नहीं हो सकती है या नहीं चाहते हैं।
लेकिन रेल्स अच्छा है।
आप rails g (g जनरेट के लिए) कमांड का उपयोग करके व्यक्तिगत घटक बना सकते हैं, जैसे कंट्रोलर।
उदाहरण:
rails g controller Fruitrails g model Fruit name:string color:string(मॉडल + माइग्रेशन बनाता है)rails g migration CreateBook title:string year:integer(केवल माइग्रेशन बनाता है)
स्कैफोल्डिंग कमांड का उपयोग करने का एक बड़ा लाभ यह है कि सभी फ़ाइलें सही नामकरण परंपराओं का उपयोग करके बनाई जाती हैं, जो अजीब त्रुटि संदेशों से बचाती हैं। यह आपको इन फ़ाइलों को मैन्युअली बनाने के काम से भी बचाता है।
बात दें...
उन ऑटो-जेनरेटेड फ़ाइलों को हटाना अच्छा अभ्यास माना जाता है जिनका आप उपयोग करने की योजना नहीं बना रहे हैं। इसलिए "g कंट्रोलर" जैसे जनरेटर का उपयोग करने के बाद, बनाई गई फ़ाइलों की सूची की समीक्षा करें और उन लोगों को हटा दें जिनकी आपको आवश्यकता नहीं है।
सारांश
आपने रूबी में स्कैफोल्डिंग के बारे में सीखा ताकि आप अभ्यास के लिए तेजी से एक नया रेल्स एप्लिकेशन शुरू कर सकें।
जैसे-जैसे आप अधिक सीखते हैं, आप स्कैफोल्डिंग को छोड़ना चाह सकते हैं।
लेकिन जब आपको उनकी आवश्यकता हो तब भी आप व्यक्तिगत कंट्रोलर, मॉडल, या व्यू फ़ाइलें उत्पन्न कर सकते हैं।
पढ़ने के लिए धन्यवाद! 🙂