【发布时间】:2021-11-26 23:08:55
【问题描述】:
我目前正在处理一张票,它要求我过滤掉任何要发送给收件人的非活动电子邮件。这是我正在研究的方法:
def self.delivering_email(message)
return if email_to_be_delivered?(message.subject)
email_list = message.to
if email_list.is_a?(String)
email_list = email_list.split(",").map(&:strip)
end
email_list.each { |email|
identity = Identity.find_by(email: email)
next if identity.nil?
# email_list.delete(email) unless identity.try(:preferred_user).active?
email_list.select(email) if identity.try(:preferred_user).active?
}
message.to = email_list
message.perform_deliveries = !email_list.empty?
end
“# email_list.delete(email) 除非 identity.try(:preferred_user).active?”我注释掉是因为 QA 提到只有一封非活动电子邮件会过滤掉,并且不会完全过滤阵列中的其他非活动电子邮件。我假设我必须使用 .select 而不是 .delete,但不知道它是否有效,因为我没有任何方法来测试和重现错误,或者如何以正确的方式实现它。
任何帮助将不胜感激。
【问题讨论】:
标签: ruby-on-rails ruby ruby-on-rails-4