पृष्ठभूमि: हमारे ऐप में, हमारे पास बिक्री विक्रेता के कंप्यूटर (अक्सर ग्राहक) का उपयोग करके हमारे ग्राहक के लिए एक बिक्री प्रतिनिधि सेटअप होता है जब हम उन्हें सेट अप करते हैं तो उनके ईमेल तक पहुंच नहीं है)। तो हम बिक्री प्रतिनिधि के ईमेल पते के लिए तैयार पंजीकरण फॉर्म में एक फ़ील्ड जोड़ने की सोच रहे हैं और पुष्टि ईमेल भी उस ईमेल पते पर जाएं।रेल 3 + devise: उपयोगकर्ता के दूसरे ईमेल पते को जोड़ने के लिए पुष्टिकरण ईमेल के लिए मेलर विधि को संशोधित करने के लिए कैसे करें
प्रश्न: वहाँ एक रास्ता गुप्त प्रतिलिपि (या सीसी) प्रारंभिक पुष्टिकरण ईमेल के लिए वसीयत बताने के लिए है (केवल प्रारंभिक पुष्टिकरण ईमेल) एक (वैकल्पिक) "backup_email" ईमेल पते पर वह भी पर प्रदान की जाती है नया उपयोगकर्ता पंजीकरण फॉर्म?
वैकल्पिक रूप से, पुष्टि ईमेल प्रक्रिया को 'अक्षम' करने का कोई तरीका है, लेकिन केवल तभी जब पंजीकरण कोड में कोई निश्चित कोड दर्ज किया जाता है?
मुझे पता है कि तैयार पंजीकरण फॉर्म में कोई अन्य फ़ील्ड कैसे जोड़ना है, लेकिन मुझे नहीं लगता कि कैसे डिलीज मेलर कोड को संशोधित/कहां संशोधित किया जाए ताकि जब "ईमेल" पते पर एक पुष्टिकरण ईमेल भेजा जाए तो यह भी जाता है "backup_email" पता (यदि कोई है, कभी-कभी यह खाली होता है)।
जॉनी घास के लिए धन्यवाद!
मैं rails generate mailer CustomerUserMailer
किया और कहा कि
#config/initializers/devise.rb
config.mailer = "CustomUserMailer"
अपने कस्टम मेलर की तरह दिखता है:
# app/mailers/customer_user_mailer.rb
class CustomUserMailer < Devise::Mailer
def headers_for(action)
headers = {
:subject => translate(devise_mapping, action),
:from => mailer_sender(devise_mapping),
:to => resource.email,
:cc => resource.backup_user_email(action),
:template_path => template_paths
}
end
end
तो मैं (अन्यथा ईमेल खाली हैं)
views/devise/mailer
से 3 मेलर टेम्पलेट्स ले जाया
views/customer_user_mailer
को
फिर मैंने User
मॉडलनामक एक विधि जोड़ाजो उपयोगकर्ता रिकॉर्ड और कार्रवाई में डेटा के आधार पर 'बैकअप' ईमेल पता (यदि कोई है) देता है। केवल "चाल" यह है कि action
का परीक्षण करते समय यह action == "confirmation_instructions"
नहीं है action == :confirmation_instructions
है।
एक सवाल ... जहां मुझे लगता है कि नई फ़ाइल को बचाने होगा? यह बहुत उपयोगी जानकारी है। बैकअप ईमेल प्रत्येक उपयोगकर्ता के पंजीकरण फॉर्म पर डेटा से आता है, उम्मीद है कि हम कुछ ऐसा उपयोग कर सकते हैं जैसे: bcc => resource.backup_email। – jpwynn
आपको वास्तव में एक मेलर बनाना होगा, [इस गाइड] का पालन करें (http://guides.rubyonrails.org/action_mailer_basics.html) लेकिन इसे इसके बजाय 'डेविस :: मेलर' का सबक्लास बनाएं। – David
परफेक्ट धन्यवाद। मैंने अपने मूल प्रश्न के अंत में परिवर्तनों को दस्तावेज किया है, क्योंकि मुझे मेलर एआरबी टेम्पलेट को नए दृश्य – jpwynn