我使用Resque發送設計電子郵件。要做到這一點我設置:如何爲兩個不同的Devise模型使用兩套不同的郵件模板?
devise.rb
config.mailer = "Mailers::Devise::DeviseMailer"
但我有2個色器件模型 - 用戶和客戶端。我想爲每個發送不同的設計郵件模板。
devise.rb說:「前四個配置值也可以在您的模型中直接設置。」和config.mailer是前四個之一,但我不知道如何直接在模型中設置它。
我該怎麼做?
我使用Resque發送設計電子郵件。要做到這一點我設置:如何爲兩個不同的Devise模型使用兩套不同的郵件模板?
devise.rb
config.mailer = "Mailers::Devise::DeviseMailer"
但我有2個色器件模型 - 用戶和客戶端。我想爲每個發送不同的設計郵件模板。
devise.rb說:「前四個配置值也可以在您的模型中直接設置。」和config.mailer是前四個之一,但我不知道如何直接在模型中設置它。
我該怎麼做?
訣竅是設置:
devise.rb
config.scoped_views = true
欲瞭解更多信息,請參閱:在色器件文檔 '配置視圖' 在https://github.com/plataformatec/devise
如果你有一個以上在您的應用程序中有一個角色(例如「用戶」和 「管理員」),您會注意到Devise對所有 角色使用相同的視圖。幸運的是,Devise提供了一種簡單的方法來定製視圖。所有 你需要做的是在 「config/initializers/devise.rb」中設置「config.scoped_views = true」。
這樣做後,您將能夠看到基於角色 「users/sessions/new」和「admins/sessions/new」的角色。如果在範圍內沒有找到 的視圖,Devise將使用 「devise/sessions/new」的默認視圖。您還可以使用發電機來產生 範圍的觀點:
我已經創建了一個示例應用程序,這是否:
https://github.com/rodrigoflores/multiple-mailer
請注意https://github.com/rodrigoflores/multiple-mailer/blob/master/app/models/user.rb#L6和應用程序/型號類似的行/admin.rb,您可以在其中爲每個設計模型選擇郵件程序。您還必須閱讀Devise郵件程序(https://github.com/plataformatec/devise/blob/master/app/mailers/devise/mailer.rb)源代碼以實現相同的方法。最後,寫下您的郵件的意見。