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

DeviseInvitable को Devise के साथ एकीकृत करें: निर्बाध उपयोगकर्ता आमंत्रण के लिए गहन मार्गदर्शिका

परिचय

ट्यूटोरियल के पहले भाग में, हमने सीखा कि Devise को कैसे इंस्टॉल करें और इसे अपने Rails एप्लिकेशन में सेट अप करें। इस भाग में, हम देखेंगे कि DeviseInvitable को कैसे एकीकृत किया जाए।

DeviseInvitable एक एक्सटेंशन है जो Devise के साथ काम करता है। अपने एप्लिकेशन में DeviseInvitable के साथ, आपके उपयोगकर्ता ईमेल के माध्यम से अपने दोस्तों को आमंत्रित कर सकते हैं। यदि आप एक सहयोगी ऐप बना रहे हैं तो यह शामिल करने के लिए एक बेहतरीन सुविधा है।

DeviseInvitable की स्थापना

अपना Gemfile खोलें और जेम जोड़ें:

bundle install कमांड चलाकर इंस्टॉल करें।

DeviseInvitable के कॉन्फ़िगरेशन विकल्प को Devise कॉन्फ़िगरेशन फ़ाइल में जोड़ने के लिए जनरेटर कमांड चलाएं:

आप अपने टेक्स्ट एडिटर से config/initializers/devise.rb देख कर नए परिवर्तनों को देख सकते हैं।

अब, आइए अपने User मॉडल में DeviseInvitable जोड़ें:

यह आपके मॉडल में :invitable फ्लैग जोड़ देगा, जिससे आपका User मॉडल इस तरह दिखेगा:

उपरोक्त कमांड चलाने से एक माइग्रेशन फ़ाइल भी उत्पन्न होती है जो इस तरह दिखती है:

अब rake db:migrate चलाकर अपने डेटाबेस को माइग्रेट करें।

DeviseInvitable के लिए कंट्रोलर कॉन्फ़िगर करना

DeviseInvitable को आमंत्रण भेजते समय कुछ पैरामीटर पास करने की आवश्यकता होती है। इसके लिए काम करने के लिए, हमें आवश्यक पैरामीटर को व्हाइटलिस्ट करना होगा जिसका उपयोग किया जाएगा। अपने टेक्स्ट एडिटर का उपयोग करके, app/controllers/application_controller.rb पर जाएं और इसे नीचे दिए गए जैसा बनाएं:

उपरोक्त से, आप देख सकते हैं कि DeviseInvitable के लिए :email को व्हाइटलिस्ट किया गया है।

अब देखते हैं कि हमारे कंसोल में क्या है। अपने टर्मिनल पर, rails console चलाएं और नीचे दिया गया दर्ज करें।

इससे नीचे दिए गए जैसा आउटपुट उत्पन्न होना चाहिए, हालांकि अंतर होंगे।

यह योजना के अनुसार काम कर गया।

आप नहीं चाहेंगे कि आपके उपयोगकर्ता कमांड लाइन के माध्यम से आमंत्रण भेजें, इसलिए DeviseInvitable को फ्रंट एंड पर काम करने के लिए सेट अप करना महत्वपूर्ण है। यह करना बहुत सरल है; DeviseInvitable के लिए व्यूज उत्पन्न करने के लिए जनरेटर कमांड चलाएं।

rails generate devise_invitable:views users

आपको अपने एप्लिकेशन में कहीं एक लिंक जोड़ने की भी आवश्यकता होगी जो आमंत्रण भेजने के पेज की ओर इशारा करता हो (app/views/users/invitations/new.html.erb)।

इस एप्लिकेशन के लिए, आप आगे बढ़ सकते हैं और लिंक को अपनी नेविगेशन फ़ाइल में जोड़ सकते हैं। यहाँ मैंने अपना कैसे किया:

DeviseInvitable द्वारा उपलब्ध कराए गए रूट्स देखने के लिए, कमांड rake routes | invit चलाएं। आउटपुट इस तरह दिखेगा।

आइए देखें कि इस क्षण हमारे पास क्या है। अपना सर्वर शुरू करने के लिए कमांड चलाएं; rails server।

अपने ब्राउज़र को https://localhost:3000/users/invitation/new पर इंगित करें। दिखाए गए फॉर्म में एक ईमेल पता दर्ज करें, और बटन पर क्लिक करें। यह काम करना चाहिए! यदि आप अपने सर्वर के लॉग पर जाते हैं, तो आपको एक आउटपुट दिखाई देगा जो आमंत्रण भेजते समय बनाया गया था। आउटपुट में, आपको आमंत्रण स्वीकार करने का लिंक दिखाई देगा।

आप सहमत होंगे कि यदि आप ब्राउज़र में भेजे गए ईमेल को देख सकते हैं तो यह बेहतर होगा। आइए देखें कि इसे कैसे काम करना है।

Letter_Opener को एकीकृत करना

Letter Opener आपको अपने डिफ़ॉल्ट ब्राउज़र में ईमेल का पूर्वावलोकन करने की अनुमति देता है। इसके साथ, आपको विकास वातावरण में काम करते समय मेल डिलीवरी सिस्टम सेट अप करने की आवश्यकता नहीं है।

अपना Gemfile खोलें और नीचे दिया गया जेम जोड़ें:

gem 'letter_opener'

bundle install चलाएं।

अपने टेक्स्ट एडिटर का उपयोग करके, config/environments/development.rb पर जाएं और नीचे दी गई लाइन जोड़ें।

अपना रेल्स सर्वर पुनः आरंभ करें। अब अपने ब्राउज़र को https://localhost:3000/users/invitation/new पर इंगित करें। प्रदर्शित फॉर्म को भरें और सबमिट करें। इस बार, आमंत्रण ईमेल युक्त एक नया पेज पॉप अप होगा।

डिफ़ॉल्ट साइन इन और साइन आउट रूट्स बदलें

डिफ़ॉल्ट रूप से, Devise का उपयोग करते समय sign_in और sign_out रूट्स इस तरह दिखते हैं:

sign_in: https://localhost:3000/users/sign_in

sign_out: https://localhost:3000/users/sign_out

इसे बदलने के लिए, config/routes.rb पर जाएं और निम्नलिखित जोड़ें:

आप अपने ब्राउज़र को https://localhost:3000/signin पर इंगित कर सकते हैं।

निष्कर्ष

अब आप जानते हैं कि DeviseInvitable का उपयोग कैसे करना है। आपने letter_opener जेम के बारे में भी सीखा। Devise के साथ बहुत सी चीजें की जा सकती हैं, इसलिए अधिक जानने के लिए विकी देखें। मेरे साथ बने रहने के लिए धन्यवाद।


  1. PostgreSQL में महारत हासिल करें: इंस्टॉलेशन और कॉन्फ़िगरेशन गाइड - भाग 1 PostgreSQL में महारत हासिल करें: इंस्टॉलेशन और कॉन्फ़िगरेशन गाइड - भाग 1

    यह पोस्ट PostgreSQL का परिचय देती है और आपको Linux® पर संस्करण 9.3 की इंस्टॉलेशन और कॉन्फ़िगरेशन के माध्यम से ले जाती है। परिचय PostgreSQL दुनिया का सबसे उन्नत ओपन-सोर्स रिलेशनल डेटाबेस मैनेजमेंट सिस्टम (RDBMS) है। Apple, IMDB, Skype, Uber, Lockheed Martin, Verizon, और अन्य जैसे कई प्रमुख संगठन Post

  1. रूबी इंटर्नल्स उजागर: ऑब्जेक्ट मेमोरी लेआउट को समझना रूबी इंटर्नल्स उजागर: ऑब्जेक्ट मेमोरी लेआउट को समझना

    क्या आप रूबी इंटर्नल्स का एक त्वरित दौरा चाहेंगे? तो आप एक ट्रीट के लिए तैयार हैं। क्योंकि... हम एक साथ पता लगाने जा रहे हैं कि एक रूबी ऑब्जेक्ट मेमोरी में कैसे लेआउट होता है और आप कुछ अच्छी चीजें करने के लिए आंतरिक डेटा संरचनाओं में हेरफेर कैसे कर सकते हैं। सीट बेल्ट बांधें और रूबी इंटरप्रेटर की गह

  1. रूबी के MRI सोर्स कोड में डीप डाइव रूबी के MRI सोर्स कोड में डीप डाइव

    यदि आप कुछ समय से रूबी का उपयोग कर रहे हैं तो आप इस बारे में उत्सुक हो सकते हैं कि हुड के नीचे कुछ चीजें कैसे काम करती हैं। रूबी इंटर्नल्स में गहराई से जाने का एक तरीका वह सोर्स कोड पढ़ना है जो इसे काम करता है। भले ही आप C न जानते हों, फिर भी आप कुछ दिलचस्प चीजें सीख सकते हैं। सोर्स कोड रूबी के लिए