отправлять электронные письма нескольким получателям actionmailer - PullRequest
1 голос
/ 02 марта 2012

У меня есть приглашение_mailer.rb следующее:

class InvitationMailer < ActionMailer::Base
  default :from => "email@email.com"
  def invitation_friends(invitation, user)
   @user = user
   @invitation = invitation
   mail(:bcc => @invitation.recipients.map(&:recipients), :subject => "Subject email")
  end
end

@invitation.recipients - это массив с электронными письмами, такими как:

 ["email1@example.com","email2@example.com"]

но я получаю в журнале следующее:

NoMethodError (undefined method `recipients' for "email1@example.com":String):

Что я делаю не так?

Спасибо!

Ответы [ 2 ]

5 голосов
/ 02 марта 2012

Попробуйте @invitations.recipients.join("; ")

Вы пытаетесь вызвать: получателей на объект String в вашем массиве, который не может работать.

1 голос
/ 02 марта 2012

Я считаю, что эта строка:

@invitation.recipients.map(&:recipients)

на самом деле должна быть:

@invitation.recipients.join(';')

map(&:recipients) означает: вызов метода #recipients для каждого элемента в массиве.Вы получаете ошибку, так как ваш массив содержит строки, и, очевидно, String не имеет метода #recipients:)

...