2017-04-03 81 views
0

我试图通过我的用户谁是经理,并发送给他们所有的电子邮件,但我收到以下错误:undefined method "email" for nil:NilClass。这就是我如何循环,我认为这是问题的根源:通过用户循环发送电子邮件

def send_manager_email(current_user) 
    managers = User.where(manager: true) 
    managers.each do |manager| 
    UserMailer.timesheet_notification(@manager, current_user).deliver_now 
    end 
end 

,这是我的邮件:

def timesheet_notification(user, current_user) 
    @greeting = "Hi" 
    @current_user = current_user 
    mail to: user.email, subject: "New Timesheet" 
end 

我要去哪里错了?

回答

1

请试试这个。您不需要@manager,传递参数时只能使用manager

def send_manager_email(current_user) 
     managers = User.where(manager: true) 
     managers.each do |manager| 
     UserMailer.timesheet_notification(manager, current_user).deliver_now 
     end 
    end 

,这是我的邮件:

def timesheet_notification(user, current_user) 
    @greeting = "Hi" 
    @current_user = current_user 
    mail to: user.email, subject: "New Timesheet" 
end 

希望这会为你工作。谢谢!

+0

那么,这是愚蠢的我...非常感谢!将尽快接受。 – CodeBoy

+0

好的,没问题!请接受我的回答。如果它在为你工作。 –