Computer >> कंप्यूटर ट्यूटोरियल >  >> प्रोग्रामिंग >> Ruby

रेल्स स्कैफोल्डिंग समझाया गया: तुरंत CRUD इंटरफेस बनाएं

आप रेल्स सीख रहे होंगे और आपने पढ़ा होगा कि आपको अपना रेल्स एप्लिकेशन शुरू करने के लिए "स्कैफोल्ड" बनाना होगा...

आसान!

आप 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 Fruit
  • rails g model Fruit name:string color:string (मॉडल + माइग्रेशन बनाता है)
  • rails g migration CreateBook title:string year:integer (केवल माइग्रेशन बनाता है)

स्कैफोल्डिंग कमांड का उपयोग करने का एक बड़ा लाभ यह है कि सभी फ़ाइलें सही नामकरण परंपराओं का उपयोग करके बनाई जाती हैं, जो अजीब त्रुटि संदेशों से बचाती हैं। यह आपको इन फ़ाइलों को मैन्युअली बनाने के काम से भी बचाता है।

बात दें...

उन ऑटो-जेनरेटेड फ़ाइलों को हटाना अच्छा अभ्यास माना जाता है जिनका आप उपयोग करने की योजना नहीं बना रहे हैं। इसलिए "g कंट्रोलर" जैसे जनरेटर का उपयोग करने के बाद, बनाई गई फ़ाइलों की सूची की समीक्षा करें और उन लोगों को हटा दें जिनकी आपको आवश्यकता नहीं है।

सारांश

आपने रूबी में स्कैफोल्डिंग के बारे में सीखा ताकि आप अभ्यास के लिए तेजी से एक नया रेल्स एप्लिकेशन शुरू कर सकें।

जैसे-जैसे आप अधिक सीखते हैं, आप स्कैफोल्डिंग को छोड़ना चाह सकते हैं।

लेकिन जब आपको उनकी आवश्यकता हो तब भी आप व्यक्तिगत कंट्रोलर, मॉडल, या व्यू फ़ाइलें उत्पन्न कर सकते हैं।

पढ़ने के लिए धन्यवाद! 🙂


  1. रूबी में Rake में महारत हासिल करें: टास्क ऑटोमेशन के लिए पूर्ण गाइड रूबी में Rake में महारत हासिल करें: टास्क ऑटोमेशन के लिए पूर्ण गाइड

    Rake रूबी में एक लोकप्रिय टास्क रनर है। टास्क क्या है? अपने डेटाबेस का बैकअप बनाना अपने टेस्ट्स चलाना आंकड़े इकट्ठा करना और रिपोर्ट करना ये छोटे टास्क हैं जो Rake के बिना आपकी प्रोजेक्ट पर अलग-अलग फाइलों में बिखरे होंगे। Rake आपके टास्क्स तक पहुंच को केंद्रीकृत करता है। Rake कुछ चीजों को आसान भी ब

  1. रूबी मैट्रिक्स को समझना: परिभाषा, अनुप्रयोग और उन्हें कैसे बनाएं रूबी मैट्रिक्स को समझना: परिभाषा, अनुप्रयोग और उन्हें कैसे बनाएं

    मैट्रिक्स एक 2D (2-डायमेंशनल) ऐरे है जिसका उपयोग स्प्रेडशीट जैसे डेटा को स्टोर और काम करने के लिए किया जा सकता है। इनका उपयोग किया जा सकता है: टेबल गेम में बोर्ड को दर्शाना (शतरंज, चेकर्स, आदि) आंकड़े और डेटा विश्लेषण प्लॉट्स और ग्राफ़ उत्पन्न करना क्योंकि यह एक शक्तिशाली डेटा संरचना है इसलिए इसका

  1. Ruby on Rails में महारत: इस सिद्ध फ्रेमवर्क के साथ शक्तिशाली वेब ऐप्स तेजी से बनाएं Ruby on Rails में महारत: इस सिद्ध फ्रेमवर्क के साथ शक्तिशाली वेब ऐप्स तेजी से बनाएं

    Ruby on Rails (कभी-कभी RoR) सबसे लोकप्रिय ओपन-सोर्स वेब एप्लिकेशन फ्रेमवर्क है। यह Ruby प्रोग्रामिंग भाषा के साथ बनाया गया है। आप सिंपल से लेकर कॉम्प्लेक्स तक एप्लिकेशन बनाने में मदद के लिए Rails का उपयोग कर सकते हैं, Rails के साथ आप जो हासिल कर सकते हैं उसकी कोई सीमा नहीं है! फ्रेमवर्क क्या है? फ्र