Ruby on Rails でアカウント登録後に登録完了メールを自動で送れるようにしたいです。
サイト内で何かを掲載して、掲載完了メールを送ることはできるのですが、なぜかアカウント登録完了メールだけ送ることができません。
user_mailer.rb
Ruby
1class UserMailer < ApplicationMailer 2 3 def registration_confirmation(user) 4 @greeting = "Hi" 5 @user = user 6 7 mail to: user.email 8 end 9end 10
users_controller.rb
ruby
1 2def create 3 @user = User.new(user_params) 4 if @user.save 5 UserMailer.registration_confirmation.deliver 6 session[:user_id] = @user.id 7 redirect_to users_path 8 else 9 render :new 10 end 11end 12 13 def user_params 14 params.require(:user).permit(:name, :mainpic, :profile, :email) 15 end 16
deviseを使っています。
rails cで
UserMailer.registration_confirmation.deliverとすると、
UserMailer#registration_confirmation: processed outbound mail in 1.4ms NoMethodError: undefined method `email' for nil:NilClass from /Users/emimorikawa/Desktop/i/app/mailers/user_mailer.rb:11:in `registration_confirmation'
となりますが、データベースにはemailはnillではなく入っていることが確認できます。
もし理由がわかる方おられましたら、教えて下さい。お願い致します。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2016/09/13 10:20