Я пытаюсь понять, что я делаю не так с ActionMailer. Мне нужно иметь возможность передавать более одного аргумента почтовой программе, но продолжать получать ошибку "неправильное количество аргументов (1 вместо 2)".
Мой код: солдат_контроллер
def create
@soldier = Soldier.new(params[:soldier])
@battalion = Battalion.find(params[:battalion_id])
@company = Company.find(params[:company_id])
@frg = @company.users.find_by_position('FRG Leader')
respond_to do |format|
if @soldier.save
flash[:notice] = 'Soldier was successfully created.'
format.html { redirect_to battalion_company_soldier_path(@battalion, @company, @soldier)}
format.xml { render :xml => @soldier, :status => :created, :location => @soldier }
else
format.html { render :action => "new" }
format.xml { render :xml => @soldier.errors, :status => :unprocessable_entity }
end
end
end
Солдат_mailer.rb:
class SoldierMailer < ActionMailer::Base
def welcome_email(soldier, primary)
recipients soldier.primary.email
from "[email protected]"
subject "Welcome to the Unit"
sent_on Time.now
body
end
солдат_наблюдатель.rb:
def after_create(soldier, primary)
SoldierMailer.deliver_welcome_email(soldier, primary)
end
По сути, мне нужно отправить одно и то же электронное письмо нескольким разным получателям, чьи адреса электронной почты находятся в моделях, связанных с моделью солдата. У меня нет проблем с отправкой электронного письма, когда в методе есть только один параметр. Если я добавлю более одного, он выдает эту ошибку.
Буду признателен за любую помощь или руководство.
Спасибо.