0
我已經設置了我的配置在Heroku上使用Mailtrap,並且可以確認我已經完成了它的大部分設置。意思是我收到電子郵件,但只要我不在用戶模型上調用方法。使用@user.name
個性化電子郵件並自動將發送給@user.email
的用戶導致無方法錯誤。我想也許這與我從用戶模型發送電子郵件而不是我自定義的設計用戶控制器有關,因此我添加了一個create方法。哪個沒做。錯誤說undefined method 'email' for nil:NilClass
爲什麼我在ActionMailer中創建Devise :: RegistrationsController#創建NoMethodError?
在我的用戶模型我有
class User < ActiveRecord::Base
after_create :new_user
validates :email, presence: true, uniqueness: true, if: -> { self.email.present? }
private
def new_user
UserMailer.new_user(@user).deliver_now
end
end
在我的用戶郵件我有
class UserMailer < ApplicationMailer
def new_user(user)
@user = user
mail(to: @user.email, subject: 'You will be notified when your account is activated.')
end
end
然後在我的用戶控制器,它從設計:: RegistrationsController延伸,我有
class UsersController < Devise::RegistrationsController
def create
@user = User.new(sign_up_params)
end
private
def sign_up_params
params.require(:user).permit(:firstname, :lastname, :email, :password, :password_confirmation, :approved)
end
end
有什麼想法嗎?