The '>' characters at the end of emails were caused by Rails development mode adding HTML comment annotations to rendered views, including email templates. This creates comments like '<!-- END app/views/...erb -->' which can appear as stray characters in email clients. Solution: - Add initializer to disable view annotations specifically for ActionMailer - Preserves debugging annotations for regular views - Ensures clean email formatting in development mode - No impact on production where annotations are disabled by default The emails will now render cleanly without extra HTML comments or stray characters at the end.
23 lines
846 B
Ruby
23 lines
846 B
Ruby
# Disable view annotations for mailer templates to prevent HTML comments
|
|
# from breaking email formatting in development mode
|
|
if Rails.env.development?
|
|
Rails.application.configure do
|
|
# Override the annotation setting for ActionMailer specifically
|
|
config.to_prepare do
|
|
ActionMailer::Base.prepend(Module.new do
|
|
def mail(headers = {}, &block)
|
|
# Temporarily disable view annotations during email rendering
|
|
original_setting = ActionView::Base.annotate_rendered_view_with_filenames
|
|
ActionView::Base.annotate_rendered_view_with_filenames = false
|
|
|
|
result = super(headers, &block)
|
|
|
|
# Restore original setting
|
|
ActionView::Base.annotate_rendered_view_with_filenames = original_setting
|
|
|
|
result
|
|
end
|
|
end)
|
|
end
|
|
end
|
|
end |