2011-05-27 63 views
0

在設計invitable,邀請!方法執行以下操作:我怎樣才能讓設計使用我在配置文件中設置的不同設計郵件?

def invite! 
     if new_record? || invited? 
      self.skip_confirmation! if self.new_record? && self.respond_to?(:skip_confirmation!) 
      generate_invitation_token if self.invitation_token.nil? 
      self.invitation_sent_at = Time.now.utc 
      save(:validate => false) 
      ::Devise.mailer.invitation_instructions(self).deliver 
     end 
     end 

但是,因爲我想設計使用PostageApp,我創建了一個新的郵件稱爲new_devise_mailer.rb這基本上是一樣的色器件郵件,但繼承PostageApp。

在config /初始化/ devise.rb文件,我設置config.mailer =「NewDeviseMailer」,而不是「設計:梅勒」

的invitable模塊怎麼能知道要使用新的郵件?

回答

0

由於調用Devise.mailer而不是Devise::Mailer,並且您更改了初始化程序中的默認郵件程序,因此可邀請的模塊應自動使用NewDeviseMailer

+0

好的,我明白了,所以Devise.mailer會指向NewDeviseMailer。 NewDeviseMailer是否必須繼承DeviseMailer,或者我可以像我所描述的那樣做,即讓方法相同,但它是從postageApp繼承而不是從ActionMailer繼承的? – Angela 2011-06-11 06:04:28

+0

根據我對[本次討論]的理解(http://help.postageapp.com/discussions/support/176-how-can-i-make-the-devisemailer-a-subclass-of-postageapp),我認爲你可以試試'NewDeviseMailer David 2011-06-11 15:05:18