2016-11-14 76 views
0

我的郵件控制器從不採用第二個參數。一旦我通過另一個論點,我會得到如下圖所示的錯誤。Rails中的ArgumentError :: MailersController#預覽。錯誤的參數數量(1爲2)

錯誤

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 

可能是什麼問題,如何解決這一問題?

+0

錯誤消息指出它用於mailers_controller中的預覽方法,並且您已顯示不同控制器和方法的代碼。 – margo

+0

@margo你可以詳細解釋一下嗎?其實不知道我缺少什麼以及在哪裏解決它。 –

+0

你可以顯示觸發send_post_email方法的代碼嗎? – margo

回答

0

在job_notifier_preview

JobNotifier.send_post_email(user) 

只發送一個參數。你確定你正在發送正確的參數嗎?你需要傳遞2個參數。

相關問題