我想發送電子郵件至@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