![](/img/trans.png)
[英]How do I pass environmental variables to a Rake task invoked from another Rake task?
[英]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.