के साथ विकास में ई-मेल को छोड़कर पुष्टि करें मैं विकास का उपयोग कर रहा हूं और मैं विकास मोड में होने पर पुष्टिकरण ई-मेल छोड़ने में सक्षम होना चाहता हूं। चूंकि मेरा आवेदन मेरी स्थानीय मशीन पर चलते समय ई-मेल नहीं भेज सकता है, इसलिए मुझे केवल चेतावनी संदेश मिलेगा कि आपको एप्लिकेशन तक पहुंचने से पहले पुष्टि करने की आवश्यकता है।डिवाइज़
डिवाइज़
उत्तर
रयान बेट्स से
https://github.com/ryanb/letter_opener पत्र ओपनर मणि की कोशिश इसे भेजने के बिना ब्राउज़र में ईमेल खुल जाएगा। यदि आप विकास में हैं तो आप चीजों को छोड़ना नहीं चाहते हैं क्योंकि सामान मिस/भूल जाएगा।
डेविस ईमेल भेजने के लिए एक्शनमेलर का उपयोग करता है। परीक्षण मोड में, एक्शनमेलर को वास्तव में कोई ईमेल नहीं भेजना चाहिए।
एक्शनमेलर और परीक्षण वातावरण पर स्पष्टीकरण के लिए this tutorial देखें।
तो, पर्यावरण के आधार पर, आप मूल रूप से डिलीवरी बंद कर सकते हैं, जबकि आपके वास्तविक परीक्षणों को प्रभावित नहीं करते हैं। आपको बस उस विकल्प को environments/test.rb
फ़ाइल में निर्दिष्ट करना होगा।
मुझे लगता है कि परीक्षण फ़ाइल में इसमें निम्न कोड है: # एक्शन मेलर को असली दुनिया को ईमेल वितरित न करें। #: परीक्षण वितरण विधि # एक्शनमेलर :: Base.deliveries सरणी में भेजे गए ईमेल जमा करती है। config.action_mailer.delivery_method =: test क्या मुझे बस उस कोड स्निपेट को कॉन्फ़िगर/वातावरण/development.rb फ़ाइल – tomciopp
हम्म पर कॉपी करना चाहिए, भले ही मैं डिलीवरी बंद कर दूं, फिर भी मुझे पुष्टि करने योग्य मॉड्यूल को संतुष्ट करने के लिए एक तरीका की आवश्यकता नहीं होगी , क्योंकि मुझे अभी भी वही त्रुटि मिल जाएगी जो मुझे पुष्टि करने की आवश्यकता है। – tomciopp
यदि आपका मतलब है, जहां तक परीक्षणों का संबंध है, इसे संतुष्ट करने का एक तरीका, मैं सिर्फ नकली वस्तु के साथ पुष्टि करता हूं, या डीबी से पुष्टि कोड खिलाकर, क्योंकि वास्तविक ईमेल की डिलीवरी ' टी परीक्षण में क्या महत्वपूर्ण है। महत्वपूर्ण बात यह है कि पुष्टिकरण तंत्र काम करता है, है ना? यही है, जब पुष्टिकरण URL के माध्यम से उचित पुष्टि कोड प्रस्तुत किया जाता है, तो आप जानना चाहते हैं कि डीबी में किसी प्रकार का 'पुष्टि' ध्वज फ़्लिप किया गया है? – jefflunt
रेल 3 में आप Railscast 206 में बताए गए अनुसार अपने विकास ईमेल को फिर से शुरू करने के लिए "इंटरसेप्टर" का उपयोग कर सकते हैं।
डेविस के पास skip_confirmation! भी एक विधि है जिसे आप मेल भेजने से बचने के लिए इसे सहेजने से पहले मॉडल पर कॉल कर सकते हैं। यह बस confirmed_at
विशेषता सेट करता है जिसके परिणामस्वरूप मेल भेजने को छोड़ दिया जाता है।
या आप अपने विकास पर्यावरण में MailCatcher आज़मा सकते हैं।
अपने मॉडल को तैयार करने के लिए लें। आम तौर पर इसका उपयोगकर्ता। आरबी। और कॉन्फ़िगर स्वीकार्य को हटाएं या टिप्पणी करें। यह
के रूप में के रूप में सरल पुष्टि करने की प्रक्रिया नहीं कर पाएगा कि
user=User.new
user.email="[email protected]"
user.password="yourPassword"
user.skip_confirmation!
user.save
बस थोड़ा एफवाईआई के रूप में, आप इसे सभी ब्लॉक में डाल सकते हैं: 'user = user.new {| u | u.email = '[email protected]'; u.password = 'yourPassword'; u.skip_confirmation! } .save'। ब्लॉक मज़ाकिया हैं! – wulftone
आप एक बहुत हल्के वजन तरीका यह है चाहते हैं, पंजीकरण के बाद अपने टर्मिनल में देखो - रेल उत्पादन ईमेल प्राप्त हुआ था कि पता चलता भेजा गया है, आप पुष्टिकरण लिंक की प्रतिलिपि बना सकते हैं, खाते की पुष्टि कर सकते हैं और फिर परीक्षण जारी रख सकते हैं।
कच्चे, लेकिन प्रभावी।
- 1. रेल में डिवाइज़ मणि: user_root_path
- 2. प्रमाणीकरण की आवश्यकता वाले कार्यों के लिए डिवाइज़ एक्शन फ़िल्टर
- 3. डिवाइज़ मणि छोड़ने की पुष्टि और ईमेल के माध्यम से एक बार
- 4. साइन आउट
- 5. साइन इन डिवाइसेज के बाद अपडेट करें
- 6. वसीयत, कैसे send_confirmation_instructions
- 7. रेल ऐप
- 8. दो devise मॉडल के लिए अलग प्रमाणीकरण_की का उपयोग कैसे करें?
- 9. रेल के नए इंस्टॉलेशन के साथ हमेशा 401 अनधिकृत हो रहा है + डेविस
- 10. कैपिबरा परीक्षण
- 11. रेल -/प्रमाणीकरण विफलता साइन इन वसीयत को पॉप्युलेट नहीं है संदेश
या [letter_opener_web] (https://github.com/fgrehm/letter_opener_web) –
स्टेजिंग के लिए यहां पूछताछ के बारे में निश्चित नहीं है, लेकिन मैं व्यक्तिगत रूप से बहुत सारे डेटा के साथ एक बड़ा ऐप पॉप्युलेट कर रहा हूं। मेरे ब्राउज़र में मेरे पास 600+ टैब खोले गए थे क्योंकि मैं पत्र सलामी बल्लेबाज का उपयोग करता हूं। मैं मानता हूं कि ज्यादातर मामलों में आप छोड़ना नहीं चाहते हैं, इस मामले में मैं def। छोड़ने की जरूरत है। – Sean