1. सुनिश्चित करें कि आप Model.devise कॉल में पुष्टिकरण को शामिल करते हैं
class User < ActiveRecord::Base
devise :database_authenticatable, :confirmable ...
end
2. सुनिश्चित करें कि आप उपयोगकर्ता के प्रवास के लिए पुष्टिकरण जोड़ सकते हैं
create_table :users do |t|
t.database_authenticatable
t.confirmable
...
end
यदि आप डेविस 2.0+ का उपयोग कर रहे हैं तो यह विफल हो जाता है क्योंकि डेविस अब माइग्रेशन हेल्पर्स प्रदान नहीं करता है, और इसलिए t.confirmable
त्रुटि उत्पन्न होती है। इसके बजाय, उनके माइग्रेशन गाइड से "पुष्टि योग्य" लेबल वाले ब्लॉक को कॉपी करें ।
3. निम्नलिखित आदेशों में से किसी एक के साथ, डिविज़ के विचार उत्पन्न करें, ताकि आप डेइस मेलर के विचारों को ओवरराइड कर सकें:
rails generate devise:views # global
rails generate devise:views users # scoped
अब आप में मेलर विचारों ओवरराइड कर सकते हैं devise/mailer/confirmation_instructions.html.erb
या users/mailer/confirmation_instructions.html.erb
अपने सेटअप के आधार पर
4. के लिए विकास के माहौल में निम्नलिखित config पंक्तियाँ जोड़ें/config/environments/development.rb
config.action_mailer.default_url_options = { :host => 'localhost:3000' }
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {:address => "localhost", :port => 1025}
5. के लिए उत्पादन वातावरण में /config/environments/production.rb
आप निम्नलिखित करने के लिए कुछ इसी तरह का उपयोग कर सकते (मान आप स्थानीय होस्ट पर एक एसएमटीपी सर्वर है: 25):
config.action_mailer.default_url_options = {:host => 'yourdomain.com'}
config.action_mailer.delivery_method = :smtp
config.action_mailer.smtp_settings = {
:address => "127.0.0.1",
:port => 25,
:domain => 'yourdomain.com'
}
6 विकास में सेटअप का परीक्षण करने के लिए, मेलकैचर मणि स्थापित करें, जिसे आप विकास में SMTP सर्वर के रूप में उपयोग करेंगे, सभी आने वाले मेलों को पकड़ेंगे और उन्हें प्रदर्शित करेंगे http://localhost:1080/
:
gem install mailcatcher
एक बार कमांड के साथ मेलकैचर सर्वर शुरू करें:
mailcatcher
एक खिलौना SMTP सर्वर पोर्ट 1025 ईमेल को पकड़ने और HTTP पोर्ट 1080 पर उन्हें विस्थापित करने पर चल रहा होगा।
अब आप एक खाता बना सकते हैं और पुष्टि देख सकते हैं।