我想发送电子邮件至@user.email
和@business.manager.email
。如何向多个收件人发送电子邮件
业务并不总是有一个经理。
是否有一个简短的方法来创建这些2(可能是1)电子邮件地址的收件人数组?
recipients = [@user.email, @business.manager.email]
mail(from: "[email protected]", to: recipients, subject: "Spam")
我想发送电子邮件至@user.email
和@business.manager.email
。如何向多个收件人发送电子邮件
业务并不总是有一个经理。
是否有一个简短的方法来创建这些2(可能是1)电子邮件地址的收件人数组?
recipients = [@user.email, @business.manager.email]
mail(from: "[email protected]", to: recipients, subject: "Spam")
您可以用电子邮件创建一个数组,然后再按第二个。
recipients = [@user.email]
recipients << @business.manager.email if @business.manager
这不会推动经理的电子邮件,除非有经理。
您还可以: recipients = [@user.email, @business.manager.email].compact.reject(&:blank?)
如果你想数组声明保持一条线,你可以这样做:
[@user.email, @business.manager.try(:email)].compact
try
的电子邮件将返回nil
如果一个企业没有按”没有经理。并且compact
从数组中删除nil
值。
这实际上将基于OP的用例而失败。由于“经理”可能并不总是存在于“业务”中,如果尝试为没有经理的企业发送电子邮件,试图执行“@ business.manager.email”将导致“NoMethodError:未定义方法”电子邮件“为零:NilClass'错误。 – jeffdill2