2016-04-13 11 views
1

私はmembersと呼ばれるデバイスモデルを持っています。私はdevise確認を使用しています。確認したら、私はDevise送信Welcomeメール

class Member < ActiveRecord::Base 
    # Include default devise modules. Others available are: 
    # :confirmable, :lockable, :timeoutable and :omniauthable 
    devise :database_authenticatable, :registerable, 
     :recoverable, :rememberable, :trackable, :validatable, :confirmable 

    # Methods 

    # Override devise confirm! message 
    def confirm! 
    welcome_email 
    super 
    end 

    # Private Methods 
    private 

    def welcome_email 
    MemberMailer.welcome_email(self).deliver 
    end 

end 

マイMemberMailerがmailers/brands/member_mailer.rb

class Brands::MemberMailer < ApplicationMailer 

    # Send Welcome Email once Member confirms the account 
    def welcome_email(member) 
    @member = member 
    mail(to: @member.email, subject: "Welcome to Skreem! Now you Rock!") 
    end 
end 

に存在するユーザーにでもconfirm!上書きされていないメールリンクを介して確認するとウェルカムメールを送信したいと私はないですエラーや電子メールを受け取っています。

+0

https://github.com/plataformatec/devise/wiki/How-To:-Use-custom-mailerこのリンクに – uzaif

+0

@uzaifを確認し、これは後に変更されましたか? –

+2

'MemberMailer.welcome_email(self).deliver'を' Brands :: MemberMailer.welcome_email(self).deliver'に変更してみてください – Pavan

答えて

6

は、あなたのMemberモデルにこれを追加します。詳細情報については

def after_confirmation 
    welcome_email 
end 

これを指しているためafter_confirmation

@Pavan感謝を確認してください。

あなたwelcome_emailは次のようになります。

def welcome_email 
    Brands::MemberMailer.welcome_email(self).deliver 
end 
関連する問題