Rails :: MailersController#preview中的ArgumentError。参数数量错误(1对2)

时间:2016-11-14 13:50:30

标签: ruby-on-rails-4

我的邮件控制器从不采用第二个参数。一旦我传入另一个参数,我就会得到如下图所示的错误。

错误

enter image description here

job_notifier.rb

注意:只有一个job参数才有效。

class JobNotifier < ApplicationMailer

  def send_post_email(job, unsubscribe)
    @user = User.where(:email => true).all
    emails = @user.collect(&:email).join("#{';'}")
    @jobs = job
    @job = job
    @unsubscribe = unsubscribe
    mail(:to => emails, :bcc => User.pluck(:email).uniq, :subject => 'New job posted on FarFlungJobs')
  end

end

邮件程序触发器

JobNotifier.delay(run_at: 5.minutes.from_now).send_post_email(@job, @unsubscribe)

测试/邮寄者/预览/ sjob_notifier_preview.rb

# Preview all emails at http://localhost:3000/rails/mailers/job_notifier
class JobNotifierPreview < ActionMailer::Preview

  def send_post_email
    user = User.all
    JobNotifier.send_post_email(user)
  end

end
  

可能是什么问题以及如何解决这个问题?

1 个答案:

答案 0 :(得分:0)

在job_notifier_preview

JobNotifier.send_post_email(user)

只发送一个参数。您确定要发送正确的参数吗?你需要传递2个参数。