tam*_*ama 14 ruby-on-rails actionmailer ruby-on-rails-3
我想知道如何有条件地放弃在动作ActionMailer动作中发送邮件.
class SomeMailer < ActionMailer::Base
...
def some_emails
some_models = Model.where(:a => 1)
if !some_models.blank?
mail(...)
else
# What to add here?
# render :nothing => true doesn't work
end
end
end
现在调用它SomeMailer.some_emails.deliver!返回一个
ArgumentError: A sender (Return-Path, Sender or From) required to send a message
小智 42
将perform_deliveries设置为false,如下所示:
emails = get_email_list_somehow
if emails.present?
mail options.merge(:bcc => emails)
else
self.message.perform_deliveries = false
end
Run Code Online (Sandbox Code Playgroud)
这将悄然不会尝试发送,应该停止发生错误.