aboutsummaryrefslogtreecommitdiffstats
path: root/actionmailer/lib/action_mailer/base.rb
diff options
context:
space:
mode:
authorMarcus Ilgner <mail@marcusilgner.com>2015-12-08 12:28:00 +0100
committerMarcus Ilgner <mail@marcusilgner.com>2015-12-08 15:50:43 +0100
commit5c54db290f4e7cdd69b461d4c0b020a9cd364537 (patch)
treee99aeb7bc344862977561899232c06a5a8a6a65d /actionmailer/lib/action_mailer/base.rb
parenta61e4ae58d65d43a97e90bdb02b6c407791e3c53 (diff)
downloadrails-5c54db290f4e7cdd69b461d4c0b020a9cd364537.tar.gz
rails-5c54db290f4e7cdd69b461d4c0b020a9cd364537.tar.bz2
rails-5c54db290f4e7cdd69b461d4c0b020a9cd364537.zip
ActionMailer: support overriding template name in multipart
Implicit rendering in multipart blocks now also uses the template name from the options hash instead of always using the action name. So you can now write mail(template_name: template_name) do |format| format.text format.html end
Diffstat (limited to 'actionmailer/lib/action_mailer/base.rb')
-rw-r--r--actionmailer/lib/action_mailer/base.rb11
1 files changed, 8 insertions, 3 deletions
diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb
index cbbf480da8..9dd3f151ad 100644
--- a/actionmailer/lib/action_mailer/base.rb
+++ b/actionmailer/lib/action_mailer/base.rb
@@ -893,9 +893,7 @@ module ActionMailer
def collect_responses(headers)
if block_given?
- collector = ActionMailer::Collector.new(lookup_context) { render(action_name) }
- yield(collector)
- collector.responses
+ collect_responses_from_block(headers, &Proc.new)
elsif headers[:body]
[{
body: headers.delete(:body),
@@ -906,6 +904,13 @@ module ActionMailer
end
end
+ def collect_responses_from_block(headers)
+ templates_name = headers[:template_name] || action_name
+ collector = ActionMailer::Collector.new(lookup_context) { render(templates_name) }
+ yield(collector)
+ collector.responses
+ end
+
def collect_responses_from_templates(headers)
templates_path = headers[:template_path] || self.class.mailer_name
templates_name = headers[:template_name] || action_name