だから、メーラーapp/mailers/dynamic_mailer.rb
とモデルを手に入れapp/models/email_message/outgoing.rb
ました。方法があります:
class EmailMessage::Outgoing < EmailMessage
...
def deliver_mail
l = ::DynamicMailer.email_message(self).deliver!
Rails.logger.info "SEND MAIL: #{l.inspect}"
update_attribute(:received_at, Time.now)
end
ローカル(開発環境)では、すべてが正常に機能します。この問題は、アプリをサーバー(ステージング環境)にデプロイし、そこにメールフォームを送信しようとすると発生します。遅延したジョブの印刷:
[Worker(host:rdev pid:2279)] EmailMessage::Outgoing#send_email!
failed with NameError: uninitialized constant
EmailMessage::Outgoing::DynamicMailer - 11 failed attempts
サーバーにクラスをロードする際の問題のようです。クラス名が失敗する前に二重コロンを削除します。
どんな助けでも大歓迎です。