我想向@user.email
和@business.manager.email
发送电子邮件。
企业并不总是有经理。
使用这两个(可能是1个)电子邮件地址创建收件人数组是否有简短的方法?
recipients = [@user.email, @business.manager.email]
mail(from: "admin@spam.com", to: recipients, subject: "Spam")
答案 0 :(得分:3)
您可以使用电子邮件创建一个数组,然后推送第二个数组。
recipients = [@user.email]
recipients << @business.manager.email if @business.manager
除非有经理,否则不会推送经理的电子邮件。
答案 1 :(得分:0)
您还可以:
recipients = [@user.email, @business.manager.email].compact.reject(&:blank?)
答案 2 :(得分:0)
如果你想将数组声明保持在一行,你可以这样做:
[@user.email, @business.manager.try(:email)].compact
如果企业没有经理,电子邮件的 try
将返回nil
。 compact
从数组中删除nil
个值。