Как передать значения ActiveRecord :: Relation в задание почтовой программы?
Если я попытаюсь отправить cards_to_send
и получу ошибку:
ActiveJob::SerializationError: Unsupported argument type: ActiveRecord::Relation
My email_tasks
:
cards = Card.where(start_date: Date.today)
users = User.where(receive_emails: true)
users.find_each do |user|
cards_to_send = cards.where(user_id: user)
TaskMailer.with(user: users, cards: cards_to_send).daily_letters.deliver_later if cards_to_send.any?
end
My task_mailer.rb
:
class TaskMailer < ApplicationMailer
before_action { @cards, @user = params[:cards], params[:user] }
def daily_letters
mail(to: @user.email, subject: "Work plan for today.")
end
end
Я могу преобразовать cards_to_send
в массив cards_to_send.to_a
, но тогда я не могу использовать этот массив внутри почтовой программы, я получаю сообщение об ошибке:
NoMethodError: undefined method `email' for #<Array:0x00007f51d83b28c0>
Как правильно отправить тип ActiveRecord :: Relation в почтовую программу?