1
嘗試重寫舊的alias_method_chain以在傳出電子郵件上添加篩選器,但它不起作用。我很確定我已經遺漏了一些東西,但我不知道是什麼。Rails 3:嘗試使用模塊擴展Action Mailer
此文件是/lib/outgoing_mail_filter.rb,其中裝有配置/初始化/ required.rb
這裏的舊代碼,根據梁2的工作:
class ActionMailer::Base
def deliver_with_recipient_filter!(mail = @mail)
unless 'production' == Rails.env
mail.to = mail.to.to_a.delete_if do |to|
!(to.ends_with?('some_domain.com'))
end
end
unless mail.to.blank?
deliver_without_recipient_filter!(mail)
end
end
alias_method_chain 'deliver!'.to_sym, :recipient_filter
end
這是我的當前嘗試重寫它:
class ActionMailer::Base
module RecipientFilter
def deliver(mail = @mail)
super
unless 'production' == Rails.env
mail.to = mail.to.to_a.delete_if do |to|
!(to.ends_with?('some_domain.com'))
end
end
unless mail.to.blank?
deliver(mail)
end
end
end
include RecipientFilter
end
當我運行我的測試時,它甚至看起來不像是被調用或任何東西。任何幫助表示讚賞
以下示例結束,但註冊ActionMailer :: Base而不是郵件。謝謝! –