रूबी ऑन रेल्स ट्यूटोरियल
रूबी क्या है?
माणिक एक उच्च स्तरीय, व्याख्या की गई और ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। यह एक गतिशील ओपन-सोर्स भाषा है जिसके पीछे एक बड़ा समुदाय है। रूबी को सरलता और उत्पादकता के लिए डिज़ाइन किया गया था। यह पहले मानव और फिर कंप्यूटर सॉफ्टवेयर कोड लिखने को प्रोत्साहित करता है। इसे 1995 में जापान में युकीहिरो मात्सुमोतो द्वारा बनाया गया था।
रेल्स क्या है?
रेल वेब एप्लिकेशन बनाने के लिए रूबी में लिखा गया एक डेवलपमेंट फ्रेमवर्क है। इसे बेसकैंप एप्लिकेशन की नींव के रूप में बनाया गया था और फिर 2004 में एक ओपन-सोर्स सॉफ़्टवेयर के रूप में रिलीज़ किया गया था। रेल्स कई इन-बिल्ट मानक सुविधाएँ और कार्यक्षमताएँ प्रदान करता है, जो इसे MVP प्रोटोटाइपिंग और विकास के लिए एक उपयुक्त विकल्प बनाता है।
इसे डेविड हेनीमियर हसन ने बनाया था जिन्हें डीएचएच के नाम से जाना जाता है। यह वेब एप्लिकेशन बनाने के लिए सबसे प्रभावशाली और लोकप्रिय टूल में से एक है। इसका इस्तेमाल Airbnb जैसी कुछ पसंदीदा साइटों द्वारा किया जाता है। Github, शॉपिफ़ाई, आदि.
रेल क्यों?
रेल्स का उपयोग करने के लाभ/सुविधाएँ इस प्रकार हैं:
- रेल्स को रूबी जेम के रूप में पैक किया गया है, और आप इसका उपयोग विभिन्न प्रकार के अनुप्रयोगों के निर्माण के लिए कर सकते हैं।
- यह आपको नियमित वेब अनुप्रयोग, ई-कॉमर्स अनुप्रयोग, सामग्री प्रबंधन प्रणाली और बहुत कुछ बनाने की अनुमति देता है।
- रेल्स एक पूर्ण-स्टैक फ्रेमवर्क है जिसमें मॉडल-व्यू-कंट्रोलर पैटर्न का उपयोग करके डेटाबेस-संचालित वेब एप्लिकेशन बनाने के लिए आवश्यक सभी चीजें शामिल हैं।
- इसका मतलब यह है कि सभी परतें कम कोड के साथ एक साथ सहजता से काम करने के लिए बनाई गई हैं। अन्य फ्रेमवर्क की तुलना में इसके लिए कोड की कम लाइनों की आवश्यकता होती है।
रूबी को कैसे डाउनलोड और इंस्टॉल करें? Windows
स्थापना प्रक्रिया आपके ऑपरेटिंग सिस्टम पर निर्भर करेगी। आप रूबी को स्थापित करने की प्रक्रिया से गुजरेंगे Windows, मैक, और Linux.
चरण 1) रूबीइंस्टालर डाउनलोड करें
अपने कंप्यूटर पर रूबी स्थापित करने का सबसे आसान तरीका Windows कंप्यूटर रूबी इंस्टॉलर के माध्यम से है जिसे आप डाउनलोड कर सकते हैं https://rubyinstaller.org/.
आपको बस डाउनलोड किए गए इंस्टॉलर को चलाना है।
चरण 2) डाउनलोड किए गए इंस्टॉलर पर क्लिक करें
Double-डाउनलोड किये गये इंस्टॉलर 'rubyinstaller-2.4.1-2-x64.exe' पर क्लिक करें।
चरण 3) लाइसेंस स्वीकार करें
'मैं लाइसेंस स्वीकार करता हूँ' रेडियो बटन चुनें और 'अगला' बटन पर क्लिक करें। यह आपको नीचे दिए गए अगले चित्र पर ले जाएगा:
चरण 4) पहले दो चेकबॉक्स चेक करें
रूबी स्क्रिप्ट को चलाना आसान बनाने के लिए पहले दो चेकबॉक्स को चेक करें।
इंस्टॉलेशन शुरू करने के लिए 'इंस्टॉल' बटन पर क्लिक करें। इंस्टॉलेशन पूरा होने पर आपको नीचे दिया गया चित्र दिखाई देगा।
चरण 5) समाप्त पर क्लिक करें
MSYS2 को इंस्टॉल करने वाले चेकबॉक्स विकल्प को अनचेक न करें। इंस्टॉलेशन को पूरा करने के लिए “फिनिश” पर क्लिक करें और नीचे दिए गए चित्र में दिखाई गई कमांड प्रॉम्प्ट विंडो प्रदर्शित होगी।
चरण 6) MSYS2 स्थापित करता है
यह चरण MSYS2 को स्थापित करता है, जो एक निर्माण मंच है जिसमें पैकेजों की आसान स्थापना के लिए एक पैकेज प्रबंधक की सुविधा है Windows.
सभी घटकों को स्थापित करने के लिए एंटर दबाएं क्योंकि वे सभी रूबी ऑन रेल्स विकास वातावरण पर काम करने के लिए आवश्यक हैं। Windows.
रेल स्थापित करना
आपके पास पिछले सेक्शन से रूबी इंस्टॉल होनी चाहिए, और अब आप रेल्स इंस्टॉल करने जा रहे हैं। आप किसी पैकेज का उपयोग करके रेल्स इंस्टॉल कर सकते हैं रेल्सइंस्टालर, लेकिन इसमें समस्या यह है कि आपको आवश्यक पैकेजों का नवीनतम संस्करण नहीं मिलता है।
यदि आपके पास पहले से ही नवीनतम रूबी और आवश्यक रूबीजेम्स और एक्सटेंशन का बेसलाइन सेट स्थापित है। अब आपको बस इतना करना है कि अपने सिस्टम पर रेल्स प्राप्त करने के लिए कमांड प्रॉम्प्ट पर निम्न कमांड चलाएं: 'gem install rails.'
आपको यह भी स्थापित करना होगा Node.js यदि आपके पास पहले से यह नहीं है क्योंकि कुछ पुस्तकालय जिन पर रेल निर्भर करता है उन्हें इसकी आवश्यकता होती है Javascript रनटाइम को सही ढंग से काम करने के लिए। आप नोड को यहां प्राप्त कर सकते हैं https://nodejs.org.
यह विकास के लिए एक अधिक सामान्य और पसंदीदा दृष्टिकोण है Windows.रेल समुदाय एक का उपयोग करता है Windows लिनक्स के लिए सबसिस्टम जो सीधे कमांड-लाइन टूल, उपयोगिताओं और सामान्य अनुप्रयोगों के साथ GNU/Linux वातावरण प्रदान करता है Windows.
मैक पर रूबी स्थापित करना
आपके मैक पर पहले से ही रूबी प्री-इंस्टॉल है। हालाँकि, प्री-इंस्टॉल किया गया संस्करण पुराना हो सकता है, और इसलिए आपको नया/नवीनतम संस्करण इंस्टॉल करना होगा।
ऐसा करने का सबसे आसान तरीका पैकेज मैनेजर का उपयोग करना है जैसे homebrewआपको सबसे पहले टर्मिनल पर नीचे दिए गए कमांड को चलाकर होमब्रू को इंस्टॉल करना होगा।
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)
यह एक चेतावनी प्रदर्शित करेगा और आपसे अपना पासवर्ड दर्ज करने के लिए कहेगा। अपना मैक पासवर्ड दर्ज करें (टाइप करते समय आपको अक्षर दिखाई नहीं देंगे)। जब आप अपना पासवर्ड टाइप करना समाप्त कर लें तो बस 'एंटर' दबाएँ। फिर अपने मैक पर रूबी को इंस्टॉल करने के लिए यह सरल होमब्रू कमांड चलाएँ।
brew install ruby
और यह आदेश भी चलाएँ:
echo "export PATH="/usr/local/bin:/usr/local/sbin:$PATH >> ~/.bash_profile
इस रूबी इंस्टॉलेशन को अपने सिस्टम पर चलाने के लिए डिफ़ॉल्ट रूबी के रूप में सेट करें, न कि पहले से इंस्टॉल रूबी के रूप में।
यह पुष्टि करने के लिए कि स्थापना सफल रही, आप टर्मिनल पर निम्नलिखित चला सकते हैं
ruby --version
यह आपके द्वारा इंस्टॉल किए गए रूबी संस्करण संख्या को प्रिंट करेगा। आउटपुट कुछ इस तरह दिखेगा
ruby 2.6.0p0 (2018-12-25 revision 66547) [x86_64-darwin18]
रूबी को स्थापित करना Ubuntu (लिनक्स)
अपने कंप्यूटर पर रूबी स्थापित करने का सबसे आसान तरीका Ubuntu सिस्टम को apt पैकेज मैनेजर के माध्यम से इंस्टॉल किया जाता है। नवीनतम रूबी को इंस्टॉल करने के लिए आपको टर्मिनल पर निम्न कमांड चलाने की आवश्यकता है Ubuntu खजाने।
- सुडो एपीटी अपडेट – इससे डिफ़ॉल्ट अपडेट हो जाएगा Ubuntu खजाने
- सुडो एप्ट इंस्टॉल रूबी-फुल – यह नवीनतम रूबी डाउनलोड और इंस्टॉल करेगा
स्थापना सफल रही इसकी पुष्टि करने के लिए आप निम्नलिखित चला सकते हैं 'रूबी-संस्करण,' यह आपके द्वारा इंस्टॉल किया गया रूबी संस्करण प्रिंट करेगा।
रेल स्थापित करना Ubuntu (लिनक्स)
आपको अपने लिनक्स मशीन पर Rails को सफलतापूर्वक स्थापित करने के लिए नीचे दिए गए चरणों का पालन करना चाहिए।
चरण 1) अपने कंप्यूटर के जेम मैनेजर को अपडेट करें 'जेम अपडेट -सिस्टम' टर्मिनल या कमांड प्रॉम्प्ट पर.
चरण 2) रन 'जेम इंस्टॉल रेल्स' अपने कंप्यूटर पर Rails का नवीनतम संस्करण स्थापित करने के लिए।
चरण 3) आपको आसान Rails एप्लिकेशन जेम निर्भरता प्रबंधन के लिए बंडलर जेम स्थापित करना चाहिए। चलाएँ 'जेम इंस्टॉल बंडलर' इसे पाने के लिए.
रेल के दो सिद्धांत
रेल्स बुनियादी सॉफ्टवेयर डिजाइन सिद्धांतों का पालन करता है और आपको भी उन सिद्धांतों का उपयोग करने के लिए प्रोत्साहित करता है।
इनमें से दो सबसे आम हैं:
- स्वयं को न दोहराएं (DRY) - यह आपको संक्षिप्त, सुसंगत और रखरखाव योग्य कोड लिखने में मदद करता है।
- कॉन्फ़िगरेशन पर कन्वेंशन - रेल्स को समझदार डिफ़ॉल्ट का उपयोग करने के लिए पहले से कॉन्फ़िगर किया गया है जो सबसे आम उपयोग के लिए उपयुक्त है। इससे आपका एप्लिकेशन डेवलपमेंट तेज़ हो जाता है, और आपको बनाए रखने के लिए कम कोड भी चाहिए।
रेल्स – प्रोजेक्ट फ़ाइल संरचना
अब आपके सिस्टम पर Rails इंस्टॉल हो गया है, तो चलिए Rails एप्लीकेशन बनाते हैं! हम इस Ruby on Rails ट्यूटोरियल में Ruby on Rails के उदाहरण और Todo लिस्ट एप्लीकेशन बनाने का तरीका सीखेंगे। निम्न कमांड चलाएँ 'रेल्स नया टूडू_ऐप' एप्लिकेशन बनाने के लिए अपने टर्मिनल में जाएं।
यह कमांड नाम की एक डायरेक्टरी बनाता है 'टूडू_ऐप' रेल्स वेब अनुप्रयोग की मूल फ़ोल्डर संरचना के साथ वर्तमान निर्देशिका में, जैसा कि नीचे दिए गए चित्र में दिखाया गया है:
इस रूबी ऑन रेल्स उदाहरण में आप मुख्य निर्देशिकाओं से गुजरेंगे।
अनुप्रयोग - यह निर्देशिका यूआई/लेआउट (दृश्य और हेल्पर्स), नियंत्रक (नियंत्रक फ़ाइलें) और मॉडल (व्यवसाय/अनुप्रयोग तर्क) के लिए अलग-अलग उपनिर्देशिकाओं का उपयोग करके समूह बनाती है।
ऐप/नियंत्रक - यह निर्देशिका क्लाइंट से अनुरोधों को संभालने के लिए रेल द्वारा उपयोग की जाने वाली नियंत्रक फ़ाइलों को संग्रहीत करती है।
ऐप/संपत्ति - इसमें स्थिर फ़ाइलें होती हैं, जो एप्लिकेशन के फ्रंट-एंड के लिए आवश्यक होती हैं, जिन्हें उनके प्रकार के आधार पर फ़ोल्डरों में समूहीकृत किया जाता है - Javaलिपि फ़ाइलें, छवियाँ, और स्टाइलशीट.
ऐप/हेल्पर्स - इस उपनिर्देशिका में सहायक फ़ंक्शन होते हैं जो आपके एप्लिकेशन मॉडल, दृश्य और नियंत्रक तर्क को केंद्रित, छोटा और सुव्यवस्थित बनाते हैं।
ऐप/मॉडल – इसमें फ़ाइलें हैं
जो आपके एप्लिकेशन के डेटाबेस को मॉडल करते हैं। मॉडल क्लास डेटाबेस के साथ काम करना बहुत आसान बनाते हैं।
ऐप/विचार – यह टेम्पलेट/लेआउट फ़ाइलें रखता है जिनके साथ आपके एप्लिकेशन का उपयोगकर्ता इंटरैक्ट करता है। टेम्पलेट HTML और डेटाबेस से डेटा का एक संयोजन हैं।
बिन – इसमें Rails स्क्रिप्ट होती हैं जो आपके एप्लिकेशन को शुरू करती हैं। इसमें अन्य स्क्रिप्ट भी शामिल हो सकती हैं जिनका उपयोग आप एप्लिकेशन को सेट अप और अपग्रेड करने के लिए करते हैं।
कॉन्फ़िग - इसमें कॉन्फ़िगरेशन फ़ाइलें हैं – डेटाबेस.yml, पर्यावरण.rb, रूट्स.rb, आदि जो आपके एप्लिकेशन को चलाने के लिए आवश्यक हैं।
डीबी – इस निर्देशिका में फ़ाइलें/स्क्रिप्ट हैं जिनका उपयोग आपके एप्लिकेशन डेटाबेस को प्रबंधित करने के लिए किया जाता है।
लिब – इस निर्देशिका में आपके अनुप्रयोग के लिए एक विस्तारित मॉड्यूल शामिल है।
लकड़ी का लट्ठा - इसमें लॉग फ़ाइलें शामिल हैं – सर्वर.लॉग, डेवलपमेंट.लॉग, टेस्ट.लॉग और प्रोडक्शन.लॉग, आदि, जो आपके एप्लिकेशन को डिबग करने या मॉनिटर करने के लिए उपयोग किए जाते हैं।
जनता - इस निर्देशिका में स्थिर फ़ाइलें और संकलित संपत्तियां, जैसे HTML फ़ाइलें, Javascript फ़ाइलें, छवियाँ, और स्टाइलशीट.
परीक्षा - इस निर्देशिका में वे परीक्षण फ़ाइलें होती हैं जो आप अपने अनुप्रयोग की कार्यक्षमता का परीक्षण करने के लिए लिखते हैं।
टीएमपी – इस निर्देशिका में अस्थायी फ़ाइलें जैसे कैश और पीआईडी फ़ाइलें होती हैं।
विक्रेता - इस निर्देशिका में तृतीय-पक्ष लाइब्रेरीज़ हैं।
जेमफाइल – यह फ़ाइल निर्दिष्ट करती है कि आपके वेब एप्लिकेशन को चलाने के लिए आपकी बुनियादी जेम आवश्यकताएँ क्या हैं। आप जेम को डेवलपमेंट, टेस्ट या प्रोडक्शन में समूहित कर सकते हैं और रेल्स को पता होगा कि प्रत्येक जेम को कब शामिल करना है।
जेमफाइल.लॉक – Gemfile के विपरीत, जो स्पष्ट रूप से उन रत्नों को सूचीबद्ध करता है जिन्हें आप अपने अनुप्रयोग में चाहते हैं, Gemfile.lock में अतिरिक्त रूप से अन्य रत्न शामिल होते हैं, जिन पर आप Gemfile में सूचीबद्ध करते हैं, जो निर्भरता को संतुष्ट करने के लिए स्वचालित रूप से स्थापित हो जाते हैं।
Readme.md – आप इस फ़ाइल का उपयोग अपने एप्लिकेशन के बारे में आवश्यक विवरण साझा करने के लिए करते हैं, जैसे कि ऐप क्या करता है, एप्लिकेशन को कैसे इंस्टॉल और चलाया जाए।
रेकफाइल – इस फ़ाइल में विभिन्न रेक कार्य परिभाषाएँ हैं, जो आपके एप्लिकेशन के रोजमर्रा के प्रशासन कार्यों को स्वचालित करने में मदद करती हैं।
config.ru – यह एक रैक कॉन्फ़िगरेशन फ़ाइल है जो आपके एप्लिकेशन को शुरू करने के लिए वेबसर्वर को एक इंटरफ़ेस प्रदान करती है।
निर्देशिका को इसमें बदलें 'टूडू_ऐप' निर्देशिका रेल उत्पन्न और चलाने 'रेल्स सर्वर' एप्लिकेशन शुरू करने के लिए टाइप करें स्थानीय होस्ट: 3000 यदि सब कुछ ठीक रहा तो अपने वेब ब्राउजर के एड्रेस बार में आपको नीचे दिया गया चित्र दिखाई देगा।
यह आपके एप्लिकेशन का डिफ़ॉल्ट होमपेज है, और आप इसे इस रूबी ऑन रेल्स ट्यूटोरियल के बाद के भाग में बदल देंगे। आप दबाकर सर्वर को रोक सकते हैं 'Ctrl-सी'.
रेल्स – कमांड उत्पन्न करें
रेल्स जेनरेट कमांड आपके एप्लिकेशन में बहुत सारी उपयोगी चीजें बनाने के लिए टेम्पलेट्स का उपयोग करता है। आप इन जेनरेटर का उपयोग करके बहुत सारा समय बचा सकते हैं।
यह बॉयलरप्लेट कोड लिखकर मदद करता है, वह कोड जो आपके वेब एप्लिकेशन के काम करने के लिए ज़रूरी है। आप चला सकते हैं 'रेल उत्पन्न' कमांड प्रॉम्प्ट या टर्मिनल पर स्वयं ही उपलब्ध जनरेटरों की सूची देखने के लिए, जैसा कि नीचे दिखाया गया है:
आप भी चला सकते हैं 'रेल्स “कमांड” उत्पन्न करता है' कमांड क्या करता है इसका विवरण देखने के लिए। यह सुविधाजनक विकल्प प्रदान करता है जिन्हें कमांड और उपयोग उदाहरण के साथ चलाया जा सकता है। नीचे दिया गया चित्र रनिंग का आउटपुट दिखाता है' रेल्स जनरेट नियंत्रक':
आप अपने द्वारा बनाए जा रहे टूडू सूची एप्लिकेशन के लिए मॉडल, दृश्य और नियंत्रक को स्वचालित रूप से बनाने के लिए rails generate scaffold कमांड का उपयोग करेंगे। चलाएँ' रेल्स जनरेट स्कैफोल्ड टूडू_लिस्ट शीर्षक: स्ट्रिंग विवरण: पाठ' अपने टर्मिनल में (जांच लें कि आप अभी भी todo_app निर्देशिका में हैं)।
इससे TodoLists तालिका के लिए एक पूर्ण CRUD (बनाएं, पढ़ें, अपडेट करें और हटाएं) वेब इंटरफ़ेस तैयार हो जाएगा।
जानने के लिए एक और उपयोगी कमांड है 'रेल नष्ट हो जाती है,' यह जो कुछ भी है उसे उलट देता है 'रेल उत्पन्न...' करता है.
रेल – रूटिंग
रेल्स रूटिंग सिस्टम, रेल्स राउटर, आपके वेब एप्लिकेशन पर आने वाले सभी अनुरोधों को संभालता है। यह आने वाले अनुरोधों के URL की जांच करके ऐसा करता है और फिर रूट फ़ाइल में निर्दिष्ट विशेष सिंटैक्स का उपयोग करके प्रत्येक अनुरोध को उसे संभालने के लिए जिम्मेदार नियंत्रक क्रिया से मैप करता है (कॉन्फ़िगरेशन/रूट्स.rb).
रूट फ़ाइल आपके वेब एप्लिकेशन के हर URL पहलू को नियंत्रित करने में मदद करती है। Rails डिफ़ॉल्ट रूप से REST आर्किटेक्चरल स्टाइल पर आधारित RESTful डिज़ाइन का उपयोग करता है, जो HTTP क्रियाओं और अनुरोधों (URL) से लेकर नियंत्रक क्रियाओं के बीच मैपिंग प्रदान करता है।
रूट फ़ाइल तब बनाई गई थी जब आपने इसे चलाया था 'रेल नई' इस ट्यूटोरियल के पिछले भाग में। आप जो टोडो एप्लीकेशन बना रहे हैं, उसे जारी रखते हुए, निम्न चलाएँ' रेल्स डीबी: माइग्रेट' (आपको शीघ्र ही पता चल जाएगा कि यह क्या करता है)
अपनी कमांड लाइन में, सुनिश्चित करें कि आप अभी भी एप्लिकेशन के रूट (todo_app निर्देशिका) पर हैं।
फिर सर्वर को पुनः प्रारंभ करें 'रेल्स सर्वर'। प्रकार http://localhost:3000/todo_lists/
अपने ब्राउज़र में एंटर दबाएँ। आपको नीचे दिए गए रूबी ऑन रेल्स उदाहरण के चित्र में दिखाए अनुसार एक वेबपेज वापस मिलना चाहिए:
यह टोडो सूची दृश्य है जो स्कैफोल्ड कमांड द्वारा उत्पन्न किया जाता है और इसे टोडोलिस्टकंट्रोलर की इंडेक्स क्रिया द्वारा नियंत्रित किया जाता है।
आगे बढ़ें और पृष्ठ पर 'नई टूडू सूची' पर क्लिक करके एक टूडू सूची जोड़ें, आपको नीचे दिखाए अनुसार पृष्ठ मिलेगा:
ध्यान दें कि URL बदल गया है http://localhost:3000/todo_lists/new
यह एक नई टूडू सूची बनाने का पृष्ठ है, और इसे TodoListsController की नई विधि/क्रिया द्वारा नियंत्रित किया जाता है।
फॉर्म में अपनी टूडू सूची का शीर्षक और विवरण दर्ज करें और टूडू सूची बनाएं बटन पर क्लिक करें, यूआरएल बदलकर हो जाना चाहिए http://localhost:3000/todo_lists/1
, रूबी ऑन रेल्स कोड उदाहरण के नीचे दिए गए चित्र में दिखाया गया है:
यह एक टूडू सूची का शो पेज है, और इसे TodoListsController की शो विधि/क्रिया द्वारा नियंत्रित किया जाता है। यदि आप वापस जाते हैं http://localhost:3000/todo_lists/
अब आपको नीचे दिया गया चित्र दिखाई देगा जिसमें एक नई टू-डू सूची जोड़ी गई है:
Rails, config/routes.rb में रूट परिभाषा का उपयोग करके विभिन्न अनुरोधों (URL) को संबंधित TodoListsController की क्रिया से मैप करने में सक्षम था।
यदि आप इस फ़ाइल पर नज़र डालें, तो आपको एक पंक्ति दिखाई देगी 'संसाधन: टूडू_सूचियाँ', रेस्टफुल रूट लिखने का Rails डिफ़ॉल्ट तरीका है। यह एकल पंक्ति TodoLists नियंत्रक पर मैपिंग करने वाले सात रूट बनाती है।
परंपरा के अनुसार, प्रत्येक नियंत्रक की क्रिया डेटाबेस में एक विशिष्ट CRUD (क्रिएट, रीड, अपडेट और डिलीट) ऑपरेशन से भी मेल खाती है।
तुम दौड़ सकते हो 'रेक रूट' अपने एप्लिकेशन में उपलब्ध विभिन्न रूट देखने के लिए अपनी कमांड लाइन में जाएँ। नीचे दिया गया चित्र रनिंग का आउटपुट दिखाता है 'रेल मार्ग' अपने कमांड लाइन/टर्मिनल में.
रेल – दृश्य
व्यू लेयर MVC प्रतिमान के घटकों में से एक है और आपके एप्लिकेशन के लिए प्रत्येक अनुरोध के लिए HTML प्रतिक्रिया उत्पन्न करने के लिए जिम्मेदार है। डिफ़ॉल्ट रूप से रेल्स ERB (एम्बेडेड रूबी) का उपयोग करते हैं जो रूबी के लिए एक शक्तिशाली टेम्प्लेटिंग सिस्टम है।
ERB, वैरिएबल प्रतिस्थापन और प्रवाह नियंत्रण के लिए रूबी कोड के साथ सादे पाठ को जोड़कर टेम्पलेट लिखना आसान और रखरखाव योग्य बनाता है। ERB टेम्पलेट में .html, .erb या .erb एक्सटेंशन होता है।
आप अधिकतर केवल दो टैग मार्करों के संयोजन का उपयोग करेंगे, जिनमें से प्रत्येक एम्बेडेड कोड को एक विशेष तरीके से संसाधित और प्रबंधित करेगा।
बराबर के चिह्न वाला टैग '<%= %>' यह इंगित करता है कि एम्बेडेड कोड एक अभिव्यक्ति है और कोड के परिणाम को रेंडरर द्वारा प्रतिस्थापित किया जाना चाहिए जब वह टेम्पलेट को रेंडर करता है।
दूसरा टैग जिसमें बराबर का चिह्न नहीं है '<% %>' रेंडरर को यह संकेत देता है कि टेम्पलेट को रेंडर करते समय कोड के परिणाम को प्रतिस्थापित/प्रिंट नहीं किया जाना चाहिए।
आपके Rails अनुप्रयोग में प्रत्येक नियंत्रक की एक संगत उपनिर्देशिका होती है ऐप/दृश्य, और नियंत्रक में प्रत्येक क्रिया/विधि की इस निर्देशिका में एक संगत .html और .erb फ़ाइल होती है।
आप जो टूडू ऐप बना रहे हैं उसके app/views पर नज़र डालें। आपको एक सबडायरेक्टरी मिलेगी जिसका नाम है 'टूडू_सूचियाँ' इस उपनिर्देशिका के अंदर .html.erb फ़ाइलों में क्रियाओं/विधियों के अनुरूप नाम वाली फ़ाइलें टूडू सूची नियंत्रक।
रेल्स – एक्टिव रिकॉर्ड, एक्टिव रिकॉर्ड पैटर्न, और ORM
एक्टिवरिकॉर्ड, एक्टिव रिकॉर्ड पैटर्न का रूबी कार्यान्वयन है, जो एक सरल पैटर्न है, जहां एक वर्ग एक तालिका का प्रतिनिधित्व करता है, और वर्ग का एक उदाहरण उस वर्ग में एक पंक्ति का प्रतिनिधित्व करता है।
ActiveRecord को लोकप्रिय रूप से ORM (ऑब्जेक्ट रिलेशनल मैपिंग) के रूप में संदर्भित किया जाता है, यह एक ऐसी तकनीक है जो आपको अपने डेटाबेस को उस भाषा का उपयोग करके प्रबंधित करने की अनुमति देती है जिसके साथ आप सबसे अधिक सहज हैं। यह डेटाबेस से स्वतंत्र है इसलिए आप आसानी से डेटाबेस के बीच स्विच कर सकते हैं (उदाहरण के लिए SQLite, MySQL, PostgreSQL, एसक्यूएल सर्वर, Oracle, आदि)। यह सूट आपके एप्लिकेशन की आवश्यकता के लिए समान कोड/तर्क के साथ अधिक है।
इसलिए, यदि आप अपने अनुप्रयोग में सभी कार्य सूचियों की सूची वाली एक सारणी प्राप्त करना चाहते हैं, तो डेटाबेस से कनेक्शन आरंभ करने के लिए कोड लिखने के बजाय, किसी प्रकार की SQL SELECT क्वेरी करें, और उन परिणामों को एक सारणी में परिवर्तित करें।
इसके लिए आपको बस 'TodoList.all' टाइप करना होगा और एक्टिव रिकॉर्ड आपको टोडोलिस्ट ऑब्जेक्ट्स से भरी सरणी देता है, जिसके साथ आप अपनी इच्छानुसार खेल सकते हैं।
आपको बस सही कॉन्फ़िगरेशन सेट करना है config / database.yml, और एक्टिव रिकॉर्ड विभिन्न डेटाबेस सिस्टम के बीच सभी अंतरों को सुलझाएगा। इसलिए जब आप एक से दूसरे पर स्विच करते हैं, तो आपको इसके बारे में सोचने की ज़रूरत नहीं होती है।
आप अपने एप्लिकेशन के लिए कोड लिखने पर ध्यान केंद्रित करते हैं, और एक्टिव रिकॉर्ड आपको अपने डेटाबेस से जोड़ने के निम्न-स्तरीय विवरणों के बारे में सोचेगा। एक्टिव रिकॉर्ड मॉडल और डेटाबेस टेबल के बीच मैपिंग बनाने के लिए नामकरण सम्मेलनों का उपयोग करता है।
रेल्स आपके मॉडल क्लास नामों को बहुवचन में बदल देता है ताकि संबंधित डेटाबेस टेबल मिल सके। इसलिए, क्लास TodoList के लिए, ActiveRecord TodoLists नामक एक डेटाबेस टेबल बनाएगा।
रेल – माइग्रेशन
रेल्स माइग्रेशन बस एक स्क्रिप्ट है जिसका उपयोग आप अपने एप्लिकेशन डेटाबेस को संपादित करने के लिए करते हैं। इसका उपयोग आपके डेटाबेस को सेट अप करने या बदलने के लिए किया जाता है और ऐसा करने के लिए मैन्युअल रूप से SQL कोड लिखने से बचा जाता है।
यह डेटाबेस स्कीमा में परिवर्तन को परिभाषित करने के लिए रूबी का उपयोग करता है और आपके डेटाबेस को सिंक्रनाइज़ रखने के लिए संस्करण नियंत्रण का उपयोग करना संभव बनाता है।
रेल्स माइग्रेशन रूबी डोमेन स्पेसिफिक लैंग्वेज (DSL) का उपयोग करता है। यह एक अमूर्तता के रूप में कार्य करता है और आपकी आवश्यकताओं के आधार पर आपके डेटाबेस इंजन का उपयोग या परिवर्तन करना संभव बनाता है।
इन्हें एप्लीकेशन पर काम करने वाले किसी भी व्यक्ति के साथ साझा किया जा सकता है और डेटाबेस में किसी भी बदलाव को पूर्ववत करने के लिए इन्हें वापस भी लाया जा सकता है। यह एक उच्च सुरक्षा तंत्र है क्योंकि आपको अपने डेटाबेस को स्थायी नुकसान पहुँचाने के बारे में चिंता करने की ज़रूरत नहीं है।
रेल्स – एक्टिवरिकॉर्ड एसोसिएशन
दो ActiveRecord मॉडल के बीच कनेक्शन को एसोसिएशन के रूप में जाना जाता है। एसोसिएशन आपके कोड में विभिन्न रिकॉर्ड्स पर ऑपरेशन करना बहुत आसान बनाता है। इसे चार श्रेणियों में विभाजित किया जा सकता है: –
वन टू वन: – यह दर्शाता है कि रिकॉर्ड में किसी अन्य मॉडल का एक ही उदाहरण है। इसका एक अच्छा उदाहरण उपयोगकर्ता प्रोफ़ाइल है। उपयोगकर्ता के पास केवल एक प्रोफ़ाइल होती है। यह उपयोग करता है एक है कीवर्ड।
अनेको के लिये एक: – यह सबसे आम एसोसिएशन है, और यह इंगित करता है कि एक मॉडल में दूसरे मॉडल के शून्य या अधिक उदाहरण हैं। आपका उपयोग _कई है इस संबंध को दर्शाने के लिए कीवर्ड का उपयोग करें।
कई कई: – यह एसोसिएशन थोड़ा अधिक जटिल है, और ActiveRecord इसे संभालने के दो तरीके प्रदान करता है। है_और_कई_लोगों_का_है और कई हैं, जो आपको एक अलग तालिका में परिभाषित संबंध तक पहुंच प्रदान करता है।
बहुरूपी एक से अनेक:- यह Rails में आपके लिए उपलब्ध एक अधिक उन्नत एसोसिएशन है। आप इसका उपयोग एक मॉडल को परिभाषित करने के लिए कर सकते हैं जो एक ही एसोसिएशन पर कई अलग-अलग मॉडलों से संबंधित हो सकता है।
रेल्स – एक्टिवरिकॉर्ड सत्यापन
सत्यापन यह सुनिश्चित करने में मदद करता है कि आपके पास सही डेटा है, क्योंकि गलत डेटा के साथ काम करना एक भयानक बात है और इससे आपको अपने पैसे और व्यवसाय दोनों का नुकसान हो सकता है।
सत्यापन आपके एप्लिकेशन के लिए दुर्भावनापूर्ण उपयोगकर्ताओं को आपके डेटाबेस में जानकारी तक पहुँच प्राप्त करने से रोकने के लिए सुरक्षा की एक अतिरिक्त परत भी प्रदान करता है। Rails आपको ActiveRecord में सत्यापन सहायकों का एक अच्छा API प्रदान करता है ताकि आपका डेटाबेस साफ, सुरक्षित और त्रुटियों से मुक्त रहे।
एक्टिवरिकॉर्ड सत्यापन डेटाबेस में सहेजे जाने से पहले मॉडल ऑब्जेक्ट्स पर चलाया जाता है, जिससे वे अधिक विश्वसनीय बन जाते हैं और आपके अनुप्रयोग के निर्माण में अनुसरण करने के लिए सर्वोत्तम अभ्यास भी बन जाते हैं।
निम्नलिखित ActiveRecord विधियाँ मॉडल ऑब्जेक्ट पर उपयोग या कॉल किए जाने पर सत्यापन उत्पन्न करती हैं – बनाएं, बनाएं!, सहेजें, सहेजें!, अपडेट करें, और अपडेट करें!. धमाकेदार आवाज़ वाले (बनाएं!, सहेजें! और अपडेट करें!) यदि कोई रिकॉर्ड अमान्य है तो अपवाद उठाएं जबकि thothen't'tt't't.
आपके निपटान में सबसे आम ActiveRecord सत्यापन सहायक हैं: -
पुष्टि:- यह सत्यापन सहायक एक ही प्रविष्टि वाले दो क्षेत्रों को सत्यापित करने के लिए उपयोगी है। उदाहरण के लिए, पासवर्ड और पासवर्ड पुष्टिकरण, इसका उपयोग उपस्थिति सत्यापन सहायक के साथ किया जाता है।
उपस्थिति:- यह जाँचता है कि फ़ील्ड रिक्त तो नहीं है।
विशिष्टता: किसी फ़ील्ड के लिए अद्वितीय मान सुनिश्चित करता है, उदाहरण के लिए, उपयोगकर्ता नाम
लंबाई:- किसी फ़ील्ड की वर्ण लंबाई पर सीमा लागू करने के लिए
आप वैलिडेट विधि का उपयोग करके और उसे कस्टम वैलिडेशन विधि का नाम देकर भी अपना कस्टम वैलिडेशन बना सकते हैं।
आप मॉडल की जांच कर सकते हैं त्रुटि ऑब्जेक्ट का उपयोग करके पता लगाएँ कि सत्यापन क्यों आवश्यक है। उम्मीद है कि आपके पास अपने एप्लिकेशन को अधिक सीमित और अधिक सुरक्षित बनाने के लिए कुछ विचार हैं ताकि आपके डेटाबेस में केवल सुरक्षित डेटा ही प्रवेश कर सके।
रेल्स – एक्शनकंट्रोलर
रेल्स कंट्रोलर आपके वेब एप्लिकेशन का केंद्र है। यह उपयोगकर्ता, मॉडल और दृश्यों के बीच संचार को सुगम और समन्वित करता है।
आपके नियंत्रक वर्ग, ApplicationController से विरासत में प्राप्त होते हैं, जिसमें वह कोड होता है जिसे अन्य सभी नियंत्रकों में चलाया जा सकता है, तथा यह ActionController वर्ग से विरासत में प्राप्त होता है।
नियंत्रक आपके अनुप्रयोग को निम्नलिखित प्रदान करता है:
- यह बाह्य अनुरोधों को आंतरिक कार्यों तक पहुंचाता है
- यह कैश का प्रबंधन करता है, जिससे आपके एप्लिकेशन का प्रदर्शन बेहतर होता है
- यह सहायक विधियों का प्रबंधन करता है जो दृश्य टेम्पलेट क्षमताओं का विस्तार करते हैं। यह उपयोगकर्ता सत्रों का भी प्रबंधन करता है, जिससे उन्हें आपके ऐप का उपयोग करने का सहज अनुभव मिलता है।
रेल – कॉन्फ़िगरेशन
आप कॉन्फ़िगरेशन डायरेक्टरी में अपने Rails एप्लिकेशन इनिशियलाइज़र और कॉन्फ़िगरेशन फ़ाइलों का उपयोग करके इनिशियलाइज़र, एसेट्स, जेनरेटर, मिडलवेयर आदि जैसे विभिन्न घटकों को कॉन्फ़िगर कर सकते हैं। config/application.rb, config/environments/development.rb और config/environments/test.rb जैसी फ़ाइलें। आप अपने एप्लिकेशन के लिए कस्टम सेटिंग्स भी कॉन्फ़िगर कर सकते हैं।
रेल्स – डिबगिंग
जैसे-जैसे आप अपना एप्लिकेशन बनाते हैं, एक समय ऐसा आएगा जब आपको अपने कोड को डीबग करने की आवश्यकता होगी। रेल्स बायबग जेम का उपयोग करके इसे आसान बनाता है। आप अपने एप्लिकेशन कोड में कहीं भी 'बायबग' कीवर्ड डालकर डीबगिंग सत्र शुरू कर सकते हैं।
इससे उस बिंदु पर अस्थायी रूप से निष्पादन रुक जाएगा। बायबग जेम आपको उपयोग करने के लिए कई कमांड देता है। सबसे उपयोगी ये हैं:
- अगला: कमांड जो आपको वर्तमान पंक्ति के निष्पादन द्वारा लागू सभी विधियों को छोड़ते हुए कोड की अगली पंक्ति पर जाने में सक्षम बनाता है।
- कदम: यह 'नेक्स्ट' कमांड के समान है, लेकिन आपको प्रत्येक लागू किए गए कमांड में कदम रखना होगा।
- तोड़ना: यह कोड निष्पादन को रोक देता है.
- जारी रखने के निष्पादन कोड जारी रहता है.
'प्राइ' जैसे अन्य डिबगिंग जेम उपलब्ध हैं, और वे सभी समान कार्यक्षमता प्रदान करते हैं लेकिन थोड़ा अलग सिंटैक्स प्रदान करते हैं। डिबगिंग जेम का उपयोग उत्पादन में नहीं किया जाना चाहिए क्योंकि इससे आपके एप्लिकेशन को जोखिम हो सकता है और आपके एप्लिकेशन उपयोगकर्ताओं को खराब अनुभव हो सकता है।
ऐसी लॉग फ़ाइलें हैं जिन्हें आप उत्पादन में त्रुटियों के लिए जाँच सकते हैं और उन्हें संभाल सकते हैं। साथ ही, आपको अपने एप्लिकेशन को विकसित करते समय TDD (टेस्ट-ड्रिवन डेवलपमेंट) दृष्टिकोण का पालन करना चाहिए ताकि उत्पादन में तैनात करने से पहले यह सुनिश्चित हो सके कि सब कुछ ठीक से काम करता है।
सारांश
- रूबी एक शुद्ध ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है
- रूबी का वाक्य विन्यास बहुत सुंदर है, जिसे पढ़ना और लिखना आसान है।
- रेल्स एक विकास ढांचा है, जो वेब अनुप्रयोगों के निर्माण के लिए रूबी में लिखा गया है
- स्थापना प्रक्रिया आपके ऑपरेटिंग सिस्टम पर निर्भर करेगी।
- रेल्स को रूबी जेम के रूप में पैक किया गया है, और आप इसका उपयोग विभिन्न प्रकार के अनुप्रयोगों के निर्माण के लिए कर सकते हैं।
- आप इस ट्यूटोरियल में एक टूडू सूची एप्लिकेशन बनाएंगे, एप्लिकेशन बनाने के लिए अपने टर्मिनल में निम्न कमांड 'रेल्स नेटोडा'पी'पी'पी चलाएं।
- रेल्स जनरेट कमांड आपके एप्लिकेशन में बहुत सारी उपयोगी चीजें बनाने के लिए टेम्पलेट्स का उपयोग करता है।
- रेल्स रूटिंग सिस्टम, रेल्स राउटर आपके वेब एप्लिकेशन पर आने वाले सभी अनुरोधों को संभालने में आपकी मदद करता है।
- दृश्य परत MVC प्रतिमान के घटकों में से एक है और यह आपके अनुप्रयोग के प्रत्येक अनुरोध के लिए HTML प्रतिक्रिया उत्पन्न करने के लिए जिम्मेदार है।
- एक्टिवरिकॉर्ड, एक्टिव रिकॉर्ड पैटर्न का रूबी कार्यान्वयन है।
- रेल्स माइग्रेशन एक स्क्रिप्ट मात्र है जिसका उपयोग आप अपने एप्लिकेशन डेटाबेस को संपादित करने के लिए करते हैं।
- दो ActiveRecord मॉडलों के बीच संबंध को एसोसिएशन के रूप में जाना जाता है।
- सत्यापन यह सुनिश्चित करने में मदद करता है कि आपके पास सही डेटा है, क्योंकि गलत डेटा के साथ काम करना एक भयानक बात है और इससे आपको अपने पैसे और व्यवसाय दोनों का नुकसान हो सकता है।
- रेल्स नियंत्रक आपको उपयोगकर्ता, मॉडल और दृश्यों के बीच संचार को सुविधाजनक बनाने और समन्वयित करने में मदद करता है।
- रेल आपको विभिन्न घटकों जैसे इनिशियलाइज़र, एसेट्स, जेनरेटर, मिडलवेयर आदि को कॉन्फ़िगर करने में मदद करता है।