रूबी ऑन रेल्स ट्यूटोरियल
⚡ स्मार्ट सारांश
Ruby on Rails ट्यूटोरियल, Ruby में लिखे गए ओपन-सोर्स वेब फ्रेमवर्क का परिचय देता है, जो Airbnb, GitHub और Shopify को शक्ति प्रदान करता है। यह ट्यूटोरियल इंस्टॉलेशन प्रक्रिया को कवर करता है। Windowsमैक, लिनक्स, रेल्स जेनरेटर, राउटिंग, व्यूज, एक्टिवरिकॉर्ड, वैलिडेशन और डिबगिंग।
रूबी क्या है?
माणिक रूबी एक उच्च-स्तरीय, इंटरप्रिटेड, ऑब्जेक्ट-ओरिएंटेड प्रोग्रामिंग भाषा है। यह एक गतिशील ओपन-सोर्स भाषा है जिसके पीछे एक बड़ा समुदाय है। रूबी को सरलता और उत्पादकता के लिए डिज़ाइन किया गया था। यह ऐसे सॉफ़्टवेयर कोड लिखने को प्रोत्साहित करती है जो मानव-केंद्रित हो और कंप्यूटर-केंद्रित। रूबी को युकिहिरो मात्सुमोतो ने 1995 में जापान में बनाया था।
रेल्स क्या है?
रेल Rails एक Ruby भाषा में लिखा गया डेवलपमेंट फ्रेमवर्क है जिसका उपयोग वेब एप्लिकेशन बनाने के लिए किया जाता है। इसे Basecamp एप्लिकेशन की नींव के रूप में बनाया गया था और फिर 2004 में ओपन-सोर्स सॉफ़्टवेयर के रूप में जारी किया गया। Rails कई अंतर्निहित मानक सुविधाएँ और कार्यक्षमताएँ प्रदान करता है, जो इसे MVP प्रोटोटाइप के लिए एक उपयुक्त विकल्प बनाता है।ping और तीव्र उत्पाद विकास।
Rails को डेविड हेनेमेयर हैंसन ने बनाया था, जिन्हें DHH के नाम से जाना जाता है। यह वेब एप्लिकेशन बनाने के लिए सबसे प्रभावशाली और लोकप्रिय टूल में से एक है। इसका उपयोग Airbnb, GitHub और Shopify जैसी प्रमुख वेबसाइटों द्वारा किया जाता है।
रेल क्यों?
टूलचेन इंस्टॉल करने से पहले, यह समझना ज़रूरी है कि Rails अभी भी प्रोग्रामिंग के लिए एक लोकप्रिय विकल्प क्यों बना हुआ है।ping वेब एप्लिकेशन तेजी से।
- Rails को Ruby gem के रूप में पैकेज किया गया है, और आप इसका उपयोग करके कई प्रकार के एप्लिकेशन बना सकते हैं।
- यह आपको नियमित वेब एप्लिकेशन, ई-कॉमर्स साइट, कंटेंट मैनेजमेंट सिस्टम और बहुत कुछ बनाने की अनुमति देता है।
- Rails एक फुल-स्टैक फ्रेमवर्क है जिसमें मॉडल-व्यू-कंट्रोलर (MVC) पैटर्न का उपयोग करके डेटाबेस-आधारित वेब एप्लिकेशन बनाने के लिए आवश्यक सब कुछ शामिल है।
- सभी लेयर्स को एक साथ निर्बाध रूप से काम करने के लिए डिज़ाइन किया गया है, इसलिए रेल्स प्रोजेक्ट्स को आमतौर पर अन्य फ्रेमवर्क में समकक्ष प्रोजेक्ट्स की तुलना में कम कोड लाइनों की आवश्यकता होती है।
रूबी को कैसे डाउनलोड और इंस्टॉल करें? Windows
स्थापना प्रक्रिया आपके ऑपरेटिंग सिस्टम पर निर्भर करती है। अगले अनुभागों में Ruby को स्थापित करने के बारे में बताया गया है। Windows, मैक, और Linux.
चरण 1) Rubyinstaller डाउनलोड करें।
अपने कंप्यूटर पर रूबी स्थापित करने का सबसे आसान तरीका Windows कंप्यूटर रूबी इंस्टॉलर के माध्यम से है, जो यहां उपलब्ध है। https://rubyinstaller.org/.
डाउनलोड हो जाने के बाद, इंस्टॉलर को चलाएं।
चरण 2) डाउनलोड किए गए इंस्टॉलर पर क्लिक करें।
Doubleउदाहरण के लिए, डाउनलोड की गई इंस्टॉलर फ़ाइल पर क्लिक करें। rubyinstaller-2.4.1-2-x64.exe.
चरण 3) लाइसेंस स्वीकार करें।
“मैं लाइसेंस स्वीकार करता/करती हूँ” विकल्प चुनें और “अगला” बटन पर क्लिक करें। आपको नीचे दी गई स्क्रीन दिखाई देगी।
चरण 4) पहले दो चेकबॉक्स पर निशान लगाएं।
रूबी स्क्रिप्ट को चलाना आसान बनाने के लिए पहले दो चेकबॉक्स को चेक करें।
इंस्टॉलेशन शुरू करने के लिए "इंस्टॉल" बटन पर क्लिक करें। इंस्टॉलेशन पूरा होने पर आपको नीचे दी गई स्क्रीन दिखाई देगी।
चरण 5) समाप्त पर क्लिक करें।
MSYS2 को इंस्टॉल करने वाले विकल्प को अनचेक न करें। इंस्टॉलेशन पूरा करने के लिए "Finish" पर क्लिक करें। नीचे दिखाए अनुसार एक कमांड प्रॉम्प्ट विंडो खुल जाएगी।
चरण 6) MSYS2 स्थापित करें।
इस चरण में MSYS2 स्थापित किया जाता है, जो एक बिल्ड प्लेटफॉर्म है जिसमें पैकेज मैनेजर की सुविधा होती है जिससे पैकेज को आसानी से स्थापित किया जा सकता है। Windows.
Ruby on Rails के सुचारू विकास वातावरण के लिए सभी घटक आवश्यक हैं, इसलिए सभी घटकों को स्थापित करने के लिए Enter दबाएँ। Windows.
रेल स्थापित करना
आपने पिछले सेक्शन से रूबी इंस्टॉल कर लिया होगा। अब, रेल्स इंस्टॉल करें। आप रेल्स को किसी पैकेज का उपयोग करके इंस्टॉल कर सकते हैं। रेल्सइंस्टालरलेकिन पैकेज में अक्सर सभी आवश्यक निर्भरताओं का नवीनतम संस्करण शामिल नहीं होता है।
यदि आपके सिस्टम में पहले से ही रूबी का नवीनतम संस्करण और रूबीजेम्स और एक्सटेंशन स्थापित हैं, तो रेल्स को अपने सिस्टम पर स्थापित करने के लिए कमांड प्रॉम्प्ट पर बस निम्न कमांड चलाएँ: gem install rails.
आपको यह भी स्थापित करना होगा Node.js यदि आपके पास यह पहले से नहीं है, क्योंकि Rails जिन लाइब्रेरी पर निर्भर करता है उनमें से कुछ को इसकी आवश्यकता होती है। Javaस्क्रिप्ट रनटाइम सही ढंग से काम करे। नोड प्राप्त करें। 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 (लिनक्स)
Ruby को इंस्टॉल करने का सबसे आसान तरीका Ubuntu यह apt पैकेज मैनेजर के माध्यम से किया जा सकता है। नवीनतम रूबी को इंस्टॉल करने के लिए टर्मिनल में निम्नलिखित कमांड चलाएँ। Ubuntu खजाने।
- सुडो एपीटी अद्यतन – यह डिफ़ॉल्ट सेटिंग को अपडेट करता है Ubuntu खजाने।
- sudo apt install ruby-full – यह नवीनतम रूबी संस्करण को डाउनलोड और इंस्टॉल करता है।
स्थापना की पुष्टि करने के लिए, चलाएँ रूबी - संस्करणयह आपके द्वारा इंस्टॉल किए गए रूबी संस्करण को प्रिंट करता है।
रेल स्थापित करना Ubuntu (लिनक्स)
अपने लिनक्स मशीन पर रेल्स को इंस्टॉल करने के लिए नीचे दिए गए चरणों का पालन करें।
चरण 1) अपने जेम मैनेजर को अपडेट करने के लिए यह कमांड चलाएं। जेम अपडेट –सिस्टम टर्मिनल या कमांड प्रॉम्प्ट में।
चरण 2) रन मणि रेल स्थापित करें अपने कंप्यूटर पर Rails का नवीनतम संस्करण स्थापित करने के लिए।
चरण 3) Rails एप्लिकेशन में जेम निर्भरता प्रबंधन को आसान बनाने के लिए बंडलर जेम इंस्टॉल करें। चलाएँ जेम इंस्टॉल बंडलर.
रेल के दो सिद्धांत
Rails बुनियादी सॉफ्टवेयर डिजाइन सिद्धांतों का पालन करता है और आपको भी उनका उपयोग करने के लिए प्रोत्साहित करता है।
इनमें से दो सबसे आम हैं:
- अपने आप को दोहराएँ नहीं (DRY) इससे संक्षिप्त, सुसंगत और रखरखाव योग्य कोड बनता है।
- कॉन्फिगरेशन पर सम्मलेन – Rails में पहले से ही ऐसे उपयुक्त डिफ़ॉल्ट विकल्प मौजूद हैं जो अधिकांश सामान्य उपयोगों के लिए उपयुक्त हैं। इससे एप्लिकेशन डेवलपमेंट तेज़ होता है और आपको कम कोड को मेंटेन करना पड़ता है।
रेल्स – प्रोजेक्ट फ़ाइल संरचना
अपने सिस्टम पर Rails इंस्टॉल करने के बाद, एक Rails एप्लिकेशन बनाएं। अगले अनुभागों में हम Ruby on Rails का उपयोग करके एक Todo लिस्ट एप्लिकेशन बनाने का उदाहरण देखेंगे। एप्लिकेशन बनाने के लिए अपने टर्मिनल में निम्न कमांड चलाएं:
rails new todo_app
यह कमांड नाम की एक डायरेक्टरी बनाता है टूडू_ऐप वर्तमान डायरेक्टरी में, रेल्स वेब एप्लिकेशन की मूल फ़ोल्डर संरचना के साथ, जैसा कि नीचे दिखाया गया है।
प्रोजेक्ट के लिए जेनरेट की गई मुख्य डायरेक्टरी इस प्रकार हैं:
अनुप्रयोग – यह UI/लेआउट (व्यू और हेल्पर), कंट्रोलर (कंट्रोलर फाइलें) और मॉडल (बिजनेस/एप्लिकेशन लॉजिक) के लिए उपनिर्देशिकाओं को समूहित करता है।
ऐप/नियंत्रक – इसमें Rails द्वारा क्लाइंट से आने वाले अनुरोधों को संभालने के लिए उपयोग की जाने वाली कंट्रोलर फाइलें संग्रहीत होती हैं।
ऐप/संपत्ति – इसमें एप्लिकेशन के फ्रंट-एंड द्वारा आवश्यक स्थिर फाइलें शामिल हैं, जिन्हें प्रकार के अनुसार समूहीकृत किया गया है: Javaलिपि फ़ाइलें, छवियाँ, और स्टाइलशीट.
ऐप/हेल्पर्स – इसमें सहायक फ़ंक्शन शामिल हैं जो आपके एप्लिकेशन मॉडल, व्यू और कंट्रोलर लॉजिक को केंद्रित, संक्षिप्त और सुव्यवस्थित रखते हैं।
ऐप/मॉडल – इसमें वे फाइलें शामिल हैं जो आपके एप्लिकेशन के डेटाबेस का मॉडल तैयार करती हैं। मॉडल क्लास डेटाबेस के साथ काम करना बहुत आसान बना देती हैं।
ऐप/दृश्य – इसमें टेम्पलेट/लेआउट फाइलें होती हैं जिनसे आपके एप्लिकेशन का उपयोगकर्ता इंटरैक्ट करता है। ये टेम्पलेट HTML को डेटाबेस से प्राप्त डेटा के साथ जोड़ते हैं।
बिन इसमें Rails स्क्रिप्ट शामिल हैं जो आपके एप्लिकेशन को शुरू करती हैं। इसमें अन्य स्क्रिप्ट भी शामिल हो सकती हैं जिनका उपयोग आप एप्लिकेशन को सेट अप और अपग्रेड करने के लिए करते हैं।
विन्यास – इसमें कॉन्फ़िगरेशन फ़ाइलें होती हैं जैसे कि डेटाबेस.yml, पर्यावरण.rb, रूट्स.rb, इत्यादि, जिनकी आपके एप्लिकेशन को चलाने के लिए आवश्यकता होती है।
db – इसमें आपके एप्लिकेशन डेटाबेस को प्रबंधित करने के लिए उपयोग की जाने वाली फाइलें और स्क्रिप्ट शामिल हैं।
lib – इसमें आपके एप्लिकेशन के लिए विस्तारित मॉड्यूल शामिल हैं।
लॉग इन – इसमें लॉग फ़ाइलें शामिल हैं जैसे कि सर्वर.लॉग, डेवलपमेंट.लॉग, टेस्ट.लॉग और प्रोडक्शन.लॉगइसका उपयोग आपके एप्लिकेशन को डीबग करने या उसकी निगरानी करने के लिए किया जाता है।
सार्वजनिक – इसमें स्थिर फाइलें और संकलित परिसंपत्तियां शामिल हैं, जैसे कि एचटीएमएल फाइलें, Javaस्क्रिप्ट फाइलें, छवियां और स्टाइलशीट।
परीक्षण – इसमें वे टेस्ट फाइलें शामिल होती हैं जिन्हें आप अपने एप्लिकेशन की कार्यक्षमता का परीक्षण करने के लिए लिखते हैं।
tmp – इसमें कैश और पीआईडी फाइलों जैसी अस्थायी फाइलें होती हैं।
विक्रेता – इसमें तृतीय-पक्ष लाइब्रेरी शामिल हैं।
जेमफाइल – यह आपके वेब एप्लिकेशन को चलाने के लिए आवश्यक बुनियादी जेम आवश्यकताओं को निर्दिष्ट करता है। आप जेम को डेवलपमेंट, टेस्ट या प्रोडक्शन में समूहित कर सकते हैं, और रेल्स को पता चल जाएगा कि प्रत्येक जेम को कब शामिल करना है।
जेमफाइल.लॉक Gemfile के विपरीत, जिसमें आपके एप्लिकेशन में उपयोग किए जाने वाले जेम्स की स्पष्ट सूची होती है, Gemfile.lock में वे अन्य जेम्स भी शामिल होते हैं जिन पर Gemfile में सूचीबद्ध जेम्स निर्भर करते हैं। ये निर्भरताओं को पूरा करने के लिए स्वचालित रूप से इंस्टॉल हो जाते हैं।
Readme.md – इस फ़ाइल का उपयोग अपने एप्लिकेशन के बारे में आवश्यक जानकारी साझा करने के लिए करें, जैसे कि ऐप क्या करता है और इसे कैसे इंस्टॉल और रन किया जाए।
रेकफ़ाइल – इसमें विभिन्न रेक टास्क परिभाषाएँ शामिल हैं जो आपके एप्लिकेशन के रोजमर्रा के प्रशासनिक कार्यों को स्वचालित करने में मदद करती हैं।
config.ru – एक रैक कॉन्फ़िगरेशन फ़ाइल जो आपके एप्लिकेशन को शुरू करने के लिए वेब सर्वर को एक इंटरफ़ेस प्रदान करती है।
डायरेक्टरी बदलें टूडू_ऐप निर्देशिका रेल उत्पन्न और चलाने रेल सर्वर एप्लिकेशन शुरू करने के लिए टाइप करें स्थानीय होस्ट: 3000 अपने वेब ब्राउज़र के एड्रेस बार में टाइप करें। यदि सब कुछ ठीक रहा, तो आपको नीचे दी गई स्क्रीन दिखाई देगी।
यह आपके एप्लिकेशन का डिफ़ॉल्ट होमपेज है। आप इसे रूबी ऑन रेल्स ट्यूटोरियल के अगले भाग में बदलेंगे। आप सर्वर को बंद करने के लिए बटन दबा सकते हैं। Ctrl + सी.
रेल्स – कमांड जनरेट करें
Rails का जनरेट कमांड टेम्प्लेट का उपयोग करके आपके एप्लिकेशन में कई उपयोगी चीजें बनाता है। ये जनरेटर बहुत समय बचाते हैं।
वे ऐसा बॉयलरप्लेट कोड लिखते हैं जो आपके वेब एप्लिकेशन के काम करने के लिए आवश्यक है। रेल उत्पन्न करें नीचे दिखाए गए अनुसार, उपलब्ध जनरेटरों की सूची देखने के लिए कमांड प्रॉम्प्ट या टर्मिनल पर इसे स्वयं ही खोलें।
आप भी चला सकते हैं रेल उत्पन्न करें कमांड क्या करती है, इसका विवरण देखने के लिए। इसमें सुविधाजनक विकल्प और उपयोग का एक उदाहरण दिया गया है। नीचे दिया गया चित्र कमांड चलाने का आउटपुट दिखाता है। रेल जनरेट कंट्रोलर.
आप जिस टूडू लिस्ट एप्लिकेशन का निर्माण कर रहे हैं, उसके लिए मॉडल, व्यू और कंट्रोलर को स्वचालित रूप से बनाने के लिए rails generate scaffold कमांड का उपयोग करें। अपने टर्मिनल में निम्नलिखित कमांड चलाएँ (सुनिश्चित करें कि आप अभी भी उसी स्थिति में हैं)। टूडू_ऐप निर्देशिका):
rails generate scaffold todo_list title:string description:text
इससे TodoLists टेबल के लिए एक पूर्ण CRUD (क्रिएट, रीड, अपडेट, डिलीट) वेब इंटरफेस तैयार होता है।
जानने के लिए एक और उपयोगी कमांड है रेल की पटरियाँ नष्ट कर देती हैंयह जो भी हो उसे उलट देता है। रेल उत्पन्न करें करता है.
रेल – रूटिंग
Rails का राउटिंग सिस्टम, जिसे Rails राउटर कहा जाता है, आपके वेब एप्लिकेशन में आने वाले सभी अनुरोधों को संभालता है। यह जांच करता है कि... URL प्रत्येक अनुरोध का विश्लेषण करता है और रूट्स फ़ाइल में निर्दिष्ट सिंटैक्स का उपयोग करके इसे उस नियंत्रक क्रिया से मैप करता है जो इसे संभालने के लिए जिम्मेदार है।कॉन्फ़िगरेशन/रूट्स.rb).
रूट्स फ़ाइल हर चीज़ को नियंत्रित करती है URL आपके वेब एप्लिकेशन का पहलू। Rails, REST आर्किटेक्चरल शैली पर आधारित RESTful डिज़ाइन का उपयोग करता है, जो एक मैप प्रदान करता है।ping HTTP वर्ब्स और अनुरोध के बीच URLनियंत्रक क्रियाओं के लिए।
रूट फ़ाइल तब बनाई गई थी जब आपने इसे चलाया था रेल की नई पटरियाँ पहले। आप जिस टूडू एप्लिकेशन का निर्माण कर रहे हैं, उसे जारी रखते हुए, निम्नलिखित कमांड चलाएँ:
rails db:migrate
सुनिश्चित करें कि आप अभी भी एप्लिकेशन के रूट पर हैं ( टूडू_ऐप निर्देशिका)।
सर्वर को पुनः प्रारंभ करें रेल सर्वर। प्रकार http://localhost:3000/todo_lists/ अपने ब्राउज़र में फ़ाइल खोलें और एंटर दबाएं। आपको नीचे दिखाए गए वेबपेज जैसा एक वेबपेज दिखाई देगा।
यह स्केफोल्ड कमांड द्वारा जनरेट किया गया टूडू लिस्ट व्यू है, और इसे टूडूलिस्ट्सकंट्रोलर द्वारा नियंत्रित किया जाता है। अनुक्रमणिका कार्रवाई.
पेज पर “नई कार्यसूची” पर क्लिक करके एक कार्यसूची जोड़ें। आपको नीचे दी गई स्क्रीन दिखाई देगी।
नोटिस URL अब है http://localhost:3000/todo_lists/newयह नया टूडू लिस्ट बनाने का पेज है, और इसे टूडूलिस्ट्सकंट्रोलर द्वारा नियंत्रित किया जाता है। नई विधि.
फॉर्म में अपनी टूडू लिस्ट का शीर्षक और विवरण दर्ज करें और "टूडू लिस्ट बनाएं" पर क्लिक करें। URL में बदलना चाहिए http://localhost:3000/todo_lists/1, जैसा की नीचे दिखाया गया।
यह एक टूडू सूची का शो पेज है, जिसे टूडूलिस्ट्सकंट्रोलर द्वारा नियंत्रित किया जाता है। दिखाना विधि। यदि आप वापस जाते हैं http://localhost:3000/todo_lists/अब आपको नीचे दी गई स्क्रीन दिखाई देनी चाहिए जिसमें नई टूडू सूची जुड़ गई है।
Rails, रूट परिभाषा का उपयोग करके प्रत्येक अनुरोध को संबंधित TodoListsController एक्शन से मैप करने में सक्षम था। कॉन्फ़िगरेशन/रूट्स.rb.
अगर आप इस फ़ाइल को ध्यान से देखेंगे, तो आपको एक ही पंक्ति दिखाई देगी। संसाधन :कार्यसूचीयह Rails का RESTful रूट लिखने का डिफ़ॉल्ट तरीका है। इस एक लाइन से सात रूट बनते हैं, जो सभी मैप करते हैं।ping टूडूलिस्ट कंट्रोलर को।
परंपरा के अनुसार, प्रत्येक कंट्रोलर एक्शन डेटाबेस में एक विशिष्ट CRUD (क्रिएट, रीड, अपडेट, डिलीट) ऑपरेशन से मैप होता है।
रन रेल मार्ग अपने एप्लिकेशन में उपलब्ध विभिन्न मार्गों को देखने के लिए अपनी कमांड लाइन में कमांड डालें। नीचे दिया गया चित्र कमांड चलाने का आउटपुट दिखाता है। रेल मार्ग.
रेल – दृश्य
व्यू लेयर, MVC प्रतिमान के घटकों में से एक है और यह आपके एप्लिकेशन के प्रत्येक अनुरोध के लिए HTML प्रतिक्रिया उत्पन्न करने के लिए ज़िम्मेदार है। Rails डिफ़ॉल्ट रूप से ERB (एम्बेडेड रूबी) का उपयोग करता है, जो रूबी के लिए एक शक्तिशाली टेम्प्लेटिंग सिस्टम है।
ERB, वेरिएबल प्रतिस्थापन और प्रवाह नियंत्रण के लिए रूबी कोड के साथ सादे टेक्स्ट को मिलाकर टेम्प्लेट लिखना और बनाए रखना आसान बनाता है। एक ERB टेम्प्लेट निम्न का उपयोग करता है: .html.erb विस्तार।
आप आमतौर पर दो टैग मार्करों का उपयोग करेंगे, जिनमें से प्रत्येक एम्बेडेड कोड को एक विशेष तरीके से संसाधित और नियंत्रित करने का कारण बनता है।
बराबर के चिह्न वाला टैग <%= %> यह इंगित करता है कि एम्बेडेड कोड एक अभिव्यक्ति है, और टेम्पलेट के रेंडर होने पर कोड के परिणाम को आउटपुट में प्रतिस्थापित किया जाना चाहिए।
दूसरा टैग जिसमें बराबर का चिह्न नहीं है <% %> यह रेंडरर को इंगित करता है कि कोड के परिणाम को आउटपुट में प्रतिस्थापित या मुद्रित नहीं किया जाना चाहिए।
आपके Rails अनुप्रयोग में प्रत्येक नियंत्रक की एक संगत उपनिर्देशिका होती है ऐप/दृश्यऔर नियंत्रक में प्रत्येक क्रिया का एक संगत मान होता है। .html.erb उस उपनिर्देशिका में फ़ाइल।
पर एक नज़र रखना ऐप/दृश्य आप जिस टूडू ऐप का निर्माण कर रहे हैं, उसमें आपको एक सबडायरेक्ट्री मिलेगी जिसका नाम है: कार्यसूची युक्त .html.erb उन फ़ाइलों के नाम जो कार्यों से मेल खाते हैं टूडू सूची नियंत्रक।
रेल्स – एक्टिव रिकॉर्ड, एक्टिव रिकॉर्ड पैटर्न, और ORM
ActiveRecord, Active Record पैटर्न का Ruby में कार्यान्वयन है। इस पैटर्न में, एक क्लास डेटाबेस टेबल को दर्शाती है, और क्लास का एक इंस्टेंस उस टेबल में एक पंक्ति को दर्शाता है।
ActiveRecord को आमतौर पर ORM (ऑब्जेक्ट रिलेशनल मैप) के रूप में जाना जाता है।ping) लेयर, एक ऐसी तकनीक है जो आपको अपनी पसंदीदा भाषा का उपयोग करके अपने डेटाबेस को प्रबंधित करने की सुविधा देती है। यह डेटाबेस-स्वतंत्र है, इसलिए आप आसानी से डेटाबेस के बीच स्विच कर सकते हैं — उदाहरण के लिए, SQLite, MySQL, PostgreSQL, SQL सर्वर, या Oracle — एक ही कोड और लॉजिक का उपयोग करते हुए।
उदाहरण के लिए, अपने एप्लिकेशन में मौजूद सभी टूडू सूचियों वाले एक ऐरे को प्राप्त करने के लिए, आपको ऐसा कोड लिखने की आवश्यकता नहीं है जो कनेक्शन खोलता है, SQL SELECT क्वेरी चलाता है और परिणाम को परिवर्तित करता है।
आपको बस टाइप करना है TodoList.allऔर ActiveRecord TodoList ऑब्जेक्ट्स से भरा एक ऐरे लौटाता है जिसे आप अपनी इच्छानुसार उपयोग कर सकते हैं।
आपको बस कॉन्फ़िगरेशन सेट करना है config / database.ymlActiveRecord डेटाबेस सिस्टमों के बीच के अंतरों को संभालता है। एक डेटाबेस से दूसरे डेटाबेस पर स्विच करते समय, आपको अपना कोड दोबारा लिखने की आवश्यकता नहीं होती है।
आप एप्लिकेशन लॉजिक पर ध्यान केंद्रित करते हैं, और ActiveRecord आपके डेटाबेस से कनेक्ट करने के निम्न-स्तरीय विवरणों का ध्यान रखता है। यह मॉडलों को डेटाबेस तालिकाओं से मैप करने के लिए नामकरण परंपराओं का उपयोग करता है।
Rails आपके मॉडल क्लास नामों को बहुवचन में बदलकर संबंधित डेटाबेस टेबल ढूंढता है। इसलिए, एक क्लास के लिए करने के लिए सूचीActiveRecord एक डेटाबेस टेबल का उपयोग करता है जिसे कहा जाता है कार्यसूची.
रेल – माइग्रेशन
Rails माइग्रेशन एक स्क्रिप्ट है जिसका उपयोग आप अपने एप्लिकेशन डेटाबेस को विकसित करने के लिए करते हैं। इसका उपयोग SQL कोड को मैन्युअल रूप से लिखे बिना डेटाबेस को सेट अप करने या बदलने के लिए किया जाता है।
यह डेटाबेस स्कीमा में परिवर्तनों को परिभाषित करने के लिए रूबी का उपयोग करता है और विभिन्न वातावरणों में आपके डेटाबेस को सिंक्रनाइज़ रखने के लिए संस्करण नियंत्रण का उपयोग करना संभव बनाता है।
Rails माइग्रेशन रूबी डोमेन स्पेसिफिक लैंग्वेज (DSL) का उपयोग करता है। यह एक एब्सोल्यूट मॉड्यूल के रूप में कार्य करता है।tracयह सुविधा आपकी आवश्यकताओं के आधार पर आपके डेटाबेस इंजन का उपयोग या उसमें बदलाव करना संभव बनाती है।
माइग्रेशन को एप्लिकेशन पर काम करने वाले किसी भी व्यक्ति के साथ साझा किया जा सकता है और परिवर्तनों को पूर्ववत करने के लिए इसे रोल बैक भी किया जा सकता है। यह एक मजबूत सुरक्षा तंत्र है, इसलिए आपको अपने डेटाबेस को स्थायी नुकसान पहुंचाने के बारे में चिंता करने की आवश्यकता नहीं है।
रेल्स – एक्टिवरिकॉर्ड एसोसिएशन
दो ActiveRecord मॉडल के बीच के संबंध को एसोसिएशन कहा जाता है। एसोसिएशन की मदद से आपके कोड में संबंधित रिकॉर्ड पर ऑपरेशन करना बहुत आसान हो जाता है। इसके चार सामान्य प्रकार हैं।
आमने-सामने: एक रिकॉर्ड में दूसरे मॉडल का ठीक एक ही उदाहरण होता है। इसका एक अच्छा उदाहरण उपयोगकर्ता प्रोफ़ाइल है - एक उपयोगकर्ता की केवल एक ही प्रोफ़ाइल होती है। यह इसका उपयोग करता है। एक है कीवर्ड।
कई लोगों के लिए एक: सबसे आम संबंध — एक मॉडल में दूसरे मॉडल के शून्य या अधिक उदाहरण होते हैं। इसका उपयोग करें कई हैं इस संबंध को दर्शाने के लिए कीवर्ड का उपयोग करें।
अनेक से अनेक: यह थोड़ा अधिक जटिल है। ActiveRecord इसे संभालने के दो तरीके प्रदान करता है: है_और_कई_लोगों_का_है और कई हैं : के माध्यम सेजो आपको एक अलग तालिका में परिभाषित जॉइन मॉडल तक पहुंच प्रदान करता है।
बहुरूपी एक से अनेक: Rails में एक अधिक उन्नत एसोसिएशन। यह एक ऐसे मॉडल को परिभाषित करता है जो एक ही एसोसिएशन पर कई अलग-अलग मॉडलों से संबंधित हो सकता है।
रेल्स – एक्टिवरिकॉर्ड सत्यापन
डेटा का सत्यापन यह सुनिश्चित करने में मदद करता है कि आपके पास सही डेटा है, क्योंकि गलत डेटा के साथ काम करना जोखिम भरा होता है और इससे आपके व्यवसाय को आर्थिक नुकसान हो सकता है।
वैलिडेशन दुर्भावनापूर्ण उपयोगकर्ताओं द्वारा आपके डेटाबेस में हानिकारक डेटा डालने के प्रयास से सुरक्षा की एक अतिरिक्त परत भी प्रदान करता है। Rails ActiveRecord में वैलिडेशन हेल्पर्स का एक स्वच्छ API प्रदान करता है जो आपके डेटाबेस को स्वच्छ, सुरक्षित और त्रुटि रहित रखता है।
ActiveRecord सत्यापन डेटाबेस में सहेजने से पहले मॉडल ऑब्जेक्ट पर चलते हैं, जो उन्हें अधिक विश्वसनीय बनाता है और सर्वोत्तम प्रथाओं का पालन करता है।
निम्नलिखित एक्टिवरिकॉर्ड विधियाँ मॉडल ऑब्जेक्ट पर कॉल किए जाने पर सत्यापन को ट्रिगर करती हैं: बनाएं, बनाएं!, सहेजें, सहेजें!, अपडेट करें, और अपडेट करें!बैंग संस्करण (बनाएं!, सहेजें! और अपडेट करें!) रिकॉर्ड अमान्य होने पर एक अपवाद उत्पन्न करता है, जबकि नॉन-बैंग संस्करण इसके बजाय गलत लौटाते हैं।
सबसे आम ActiveRecord सत्यापन सहायक निम्नलिखित हैं:
- पुष्टि: यह सत्यापित करता है कि दो फ़ील्ड का मान समान है या नहीं, उदाहरण के लिए पासवर्ड और पासवर्ड पुष्टिकरण। इसका उपयोग उपस्थिति सत्यापन सहायक के साथ किया जाता है।
- उपस्थिति: यह जांच करता है कि फ़ील्ड खाली तो नहीं है।
- विशिष्टता: यह सुनिश्चित करता है कि किसी फ़ील्ड के लिए एक अद्वितीय मान हो, उदाहरण के लिए उपयोगकर्ता नाम।
- लंबाई: किसी फ़ील्ड की वर्ण लंबाई पर सीमा लागू करता है।
आप इसका उपयोग करके अपना स्वयं का कस्टम सत्यापन भी बना सकते हैं। मान्य विधि का उपयोग करना और उसे एक कस्टम सत्यापन विधि का नाम पास करना।
मॉडल की जाँच करें त्रुटियों यह ऑब्जेक्ट यह पता लगाने में मदद करता है कि सत्यापन विफल क्यों हुआ। इससे आपको वह सब कुछ मिल जाता है जिसकी आपको अपने एप्लिकेशन को अधिक नियंत्रित और सुरक्षित बनाने के लिए आवश्यकता होती है, जिससे आपके डेटाबेस में केवल मान्य डेटा ही प्रवेश कर सके।
रेल्स – एक्शनकंट्रोलर
रेल्स कंट्रोलर आपके वेब एप्लिकेशन का केंद्र है। यह उपयोगकर्ता, मॉडल और दृश्यों के बीच संचार को सुगम और समन्वित करता है।
आपकी नियंत्रक कक्षाएं इससे विरासत में प्राप्त करती हैं एप्लीकेशनकंट्रोलरजिसमें ऐसा कोड होता है जिसे अन्य सभी नियंत्रकों में चलाया जा सकता है, और जो बदले में इससे इनहेरिट करता है। एक्शनकंट्रोलर::बेस.
नियंत्रक आपके अनुप्रयोग को निम्नलिखित प्रदान करता है:
- यह बाहरी अनुरोधों को आंतरिक कार्यों की ओर निर्देशित करता है।
- यह कैशिंग को मैनेज करता है, जिससे आपके एप्लिकेशन के प्रदर्शन में सुधार होता है।
- यह व्यू टेम्प्लेट की क्षमताओं को बढ़ाने वाले सहायक तरीकों का प्रबंधन करता है और साथ ही उपयोगकर्ता सत्रों का भी प्रबंधन करता है, जिससे उपयोगकर्ताओं को एक सहज अनुभव मिलता है।
रेल – कॉन्फ़िगरेशन
आप Rails एप्लिकेशन के इनिशियलाइज़र और कॉन्फ़िगरेशन फ़ाइलों का उपयोग करके इनिशियलाइज़र, एसेट्स, जेनरेटर और मिडलवेयर जैसे घटकों को कॉन्फ़िगर कर सकते हैं। विन्यास निर्देशिका। इस तरह की फ़ाइलें config/application.rb, config/environments/development.rb, तथा config/environments/test.rb यहां इनका उपयोग किया गया है। आप अपने एप्लिकेशन के लिए कस्टम सेटिंग्स भी जोड़ सकते हैं।
रेल्स – डिबगिंग
जब आप अपना एप्लिकेशन बना रहे हों, तो आपको अपने कोड को डीबग करने की आवश्यकता होगी। Rails इसे आसान बनाता है। बायबग जेम। आप कीवर्ड डालकर डिबगिंग सत्र शुरू कर सकते हैं। बायबग आपके एप्लिकेशन कोड में कहीं भी।
यह उस बिंदु पर निष्पादन को अस्थायी रूप से रोक देता है। बायबग जेम कई कमांड प्रदान करता है। सबसे उपयोगी कमांड ये हैं:
- अगला: कोड की अगली पंक्ति पर जाता है, छोड़ देंping वर्तमान पंक्ति द्वारा आह्वान की गई सभी विधियाँ।
- कदम: के समान अगलालेकिन प्रत्येक आह्वानित विधि में कदम रखता है।
- तोड़ना: कोड का निष्पादन रोक देता है।
- जारी: कोड का निष्पादन जारी रहता है।
अन्य डिबगिंग जेम भी उपलब्ध हैं, जैसे कि जिज्ञासाये सभी थोड़ी भिन्न सिंटैक्स के साथ समान कार्यक्षमता प्रदान करते हैं। डिबगिंग जेम्स का उपयोग प्रोडक्शन में नहीं किया जाना चाहिए, क्योंकि वे आपके एप्लिकेशन के लिए जोखिम पैदा करते हैं और आपके उपयोगकर्ताओं के लिए खराब अनुभव का कारण बनते हैं।
उत्पादन के दौरान त्रुटियों का पता लगाने और उन्हें ठीक करने के लिए लॉग फ़ाइलों की जाँच की जा सकती है। उत्पादन में परिनियोजन से पहले यह सुनिश्चित करने के लिए कि सब कुछ ठीक से काम कर रहा है, आपको अपने एप्लिकेशन का निर्माण करते समय टेस्ट-ड्रिवन डेवलपमेंट (टीडीडी) दृष्टिकोण का पालन करना चाहिए।














