aboutsummaryrefslogtreecommitdiffstats
path: root/railties/lib/rails/mailers_controller.rb
diff options
context:
space:
mode:
authorAndrew White <andyw@pixeltrix.co.uk>2015-05-04 08:02:36 +0100
committerAndrew White <andyw@pixeltrix.co.uk>2015-05-04 10:54:50 +0100
commit350d272d6cd6fbbb127133773c79c3c17e4216f0 (patch)
treeb8ef29d6c225b46bde28a16cebc55760c42efce5 /railties/lib/rails/mailers_controller.rb
parent4261aa575a6f5f12486a19fe11464e614314e296 (diff)
downloadrails-350d272d6cd6fbbb127133773c79c3c17e4216f0.tar.gz
rails-350d272d6cd6fbbb127133773c79c3c17e4216f0.tar.bz2
rails-350d272d6cd6fbbb127133773c79c3c17e4216f0.zip
Fix mailer previews with attachments
Use the mail gem's own API to locate the correct part. Fixes #14435.
Diffstat (limited to 'railties/lib/rails/mailers_controller.rb')
-rw-r--r--railties/lib/rails/mailers_controller.rb14
1 files changed, 8 insertions, 6 deletions
diff --git a/railties/lib/rails/mailers_controller.rb b/railties/lib/rails/mailers_controller.rb
index cd1c097eb6..41422a656c 100644
--- a/railties/lib/rails/mailers_controller.rb
+++ b/railties/lib/rails/mailers_controller.rb
@@ -54,18 +54,20 @@ class Rails::MailersController < Rails::ApplicationController # :nodoc:
end
def find_preferred_part(*formats)
- if @email.multipart?
- formats.each do |format|
- return find_part(format) if @email.parts.any?{ |p| p.mime_type == format }
+ formats.each do |format|
+ if part = @email.find_first_mime_type(format)
+ return part
end
- else
+ end
+
+ if formats.any?{ |f| @email.mime_type == f }
@email
end
end
def find_part(format)
- if @email.multipart?
- @email.parts.find{ |p| p.mime_type == format }
+ if part = @email.find_first_mime_type(format)
+ part
elsif @email.mime_type == format
@email
end