rails mailer和rake task

时间:2017-10-17 17:51:48

标签: ruby-on-rails ruby actionmailer rake-task

如果代理商尚未经过验证,我希望生成一封电子邮件并将其发送给我,并附上所有姓名。不知道我哪里出错了。

agent_card_mailer.rb

class AgentCardMailer < ActionMailer::Base
  default from: "Help <help@email.com>"

  def not_verified_message(agent_card)
    @agent_card = agent_card

    mail(:to => "me@email.com", :subject => "Agent License Issues")
  end
end

not_verified_message.html.erb

Hi there,<br><br>

These agents have not been verified.<br><br>

<% @agent_cards.each do |agent_card| %>
  <%= agent_card.agent.name %><br>
<% end %>

issue_with_license.rake

namespace :agent_cards do
  desc 'Send out weekly email for agents with issues'
  task remind_license_issues: :environment do
    AgentCard.all.each do |agent_card|
      if agent_card.verified == false
        AgentCardMailer.not_verified_message(agent_card).deliver_now
      end
    end
  end
end

错误:

ActionView::Template::Error: undefined method `each' for nil:NilClass

1 个答案:

答案 0 :(得分:1)

您的邮件设置正在设置属性@agent_card,但模板正在查找复数@agent_cards