我为我的 Rails 4 应用程序构建了一个自定义电子邮件传递方法:
module CustomDeliverer
class DeliveryMethod
def initialize(options = {})
end
def deliver!(mail)
# method body hidden/not relevant for this question
end
end
end
我还按照开信刀 gem 中的示例注册了自定义交付方式:
module CustomDeliverer
class Railtie < Rails::Railtie
initializer "custom_deliverer.add_delivery_method" do
ActiveSupport.on_load :action_mailer do
ActionMailer::Base.add_delivery_method :custom_deliverer, CustomDeliverer::DeliveryMethod
end
end
end
end
我已将我的配置文件设置为使用此交付器:
config.action_mailer.delivery_method = :custom_deliverer
当我尝试在我的应用程序中发送邮件时,我收到错误消息:
交付方式无效:custom_deliverer
但是,当我将配置文件设置为直接使用交付者时:
config.action_mailer.delivery_method = CustomDeliverer::DeliveryMethod
它可以正常工作,但是只要应用程序中的代码发生更改(在本地开发时),我就会收到错误消息:
CustomDeliverer::DeliveryMethod 已从模块树中移除,但仍处于活动状态!
我应该在哪里注册或要求在我的 rails 应用程序中注册 CustomDeliverer::Railtie 以便我可以通过符号设置交付方式?