這兩個模塊都會發送相同的電子郵件模板「confirmation_instructions」,這兩個模塊都會發送可確認(用戶註冊時的電子郵件確認)和可重新確認(用戶更改電子郵件時的電子郵件確認)模塊。我如何獲得它,以便使用不同的電子郵件模板進行確認?如何發送兩個不同的電子郵件的設計確認和設計再確認?
4
A
回答
0
剛剛看過文檔,並且有一個send_on_create_notification方法可以在模型中重寫。因此,只需要重寫此方法,以便不發送確認電子郵件,而是發送不同的電子郵件。在那封電子郵件中,我只需要確認鏈接。
5
#Devise Mailer
def confirmation_instructions(record)
@resource = record
if @resource.pending_reconfirmation?
mail(to: @resource.unconfirmed_email, subject: "Confirm new email") do |format|
format.html { render ... }
end
else
mail(to: @resource.email, subject: "Confirm new account") do |format|
format.html { render .... }
end
end
end
6
您可以在郵包的#confirmation_instructions
方法來覆蓋options[:template_name]
。
class AuthMailer < Devise::Mailer
helper :application
include Devise::Controllers::UrlHelpers
default template_path: 'devise/mailer'
def confirmation_instructions(record, token, options={})
# Use different e-mail templates for signup e-mail confirmation and for when a user changes e-mail address.
if record.pending_reconfirmation?
options[:template_name] = 'reconfirmation_instructions'
else
options[:template_name] = 'confirmation_instructions'
end
super
end
end
而且改變從device.rb
# config.mailer = 'Devise::Mailer'
config.mailer = 'AuthMailer'
相關問題
- 1. 發送不同的確認電子郵件與設計
- 2. 如何發送設計註冊確認電子郵件
- 3. 設計軟件電子郵件確認
- 4. 設計 - 確認不發送電子郵件
- 5. Rails 3,設計,即使設計未設置爲可確認,我如何發送確認電子郵件?
- 6. 設計電子郵件確認
- 7. 定製設計確認電子郵件
- 8. 關閉設計確認,但仍然發送電子郵件
- 9. 稍後手動發送設計確認電子郵件
- 10. 設計和如何發送確認信
- 11. 設計確認郵件正在再次發送
- 12. 設計:我如何發送可確認的電子郵件,但不需要確認,雖然
- 13. 設計可確認的電子郵件和paper_trail的問題
- 14. Drupal不發送確認電子郵件
- 15. 確認電子郵件不發送
- 16. Php確認電子郵件不發送
- 17. Rails 3 /設計確認電子郵件服務器設置
- 18. Rails:設計不在生產中發送確認電子郵件(Heroku)
- 19. 設計確認電子郵件正在發送時,我不想要它
- 20. 設計確認電子郵件被髮送到錯誤的Heroku應用程序
- 21. 設計電子郵件確認在Heroku上不起作用
- 22. 不需要用戶確認設計電子郵件
- 23. 設備,不發送電子郵件確認
- 24. 設計其他電子郵件的確認說明
- 25. RoR - 設計可確認的電子郵件錯誤
- 26. 軌道設計的確認電子郵件
- 27. 設計確認再次發送「登錄不能爲空」錯誤與確認的鏈接從電子郵件有「確認令牌無效」錯誤
- 28. 以PHP發送確認電子郵件
- 29. 發送電子郵件確認SWFUpload
- 30. 當設計嘗試發送確認電子郵件時,Heroku中斷
那是很久以前的事,肯定這條線,但如何既預覽(再確認確認)? – maiconsanson
@maiconsanson你可以在預覽方法中設置模型實例的'unconfirmed_email':'record.update(unconfirmed_email:'[email protected]')'。這將該記錄標記爲pending_confirmation。 – richard