diff options
author | Andrew White <andyw@pixeltrix.co.uk> | 2015-05-04 08:02:36 +0100 |
---|---|---|
committer | Andrew White <andyw@pixeltrix.co.uk> | 2015-05-04 10:54:50 +0100 |
commit | 350d272d6cd6fbbb127133773c79c3c17e4216f0 (patch) | |
tree | b8ef29d6c225b46bde28a16cebc55760c42efce5 /railties/lib/rails/mailers_controller.rb | |
parent | 4261aa575a6f5f12486a19fe11464e614314e296 (diff) | |
download | rails-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.rb | 14 |
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 |