簡體   English   中英

如何將數組從rake任務傳遞到Rails中的郵件程序?

[英]How do I pass an array from a rake task to a mailer in rails?

我有一個任務,它遍歷一些記錄並將更新的記錄添加到數組中。 我想向收件人發送一封電子郵件,然后在視圖中循環使用該數組。

task :build_array => :environment do
  records = []
  Record.all.each do |record|
    if record.attribute == 'condition'
    records << record
  end
  RecordMailer.matching_records(records).deliver unless records.blank?
end

...

class RecordMailer < ApplicationMailer
  def matching_records(records)
    mail(to: 'user@email.com', subject: 'Matching Records')
    @records = records
  end
end

...

%p Lookie here, you have matching records!
%ul
  - @records.each do |record|
    %li= record.title

運行rake任務時,出現undefined method 'each' for nil:NilClass錯誤的undefined method 'each' for nil:NilClass 我是從根本上誤解了郵遞員的工作方式或其他事情嗎?

那只是一個錯字。 方法名稱為matching_records但您調用了matching_record

更新:

@records = records
mail(to: 'user@email.com', subject: 'Matching Records')

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM