From 813a8b9d2a17e1f0d7f7dfdcf04a79c94722e283 Mon Sep 17 00:00:00 2001 From: Jamis Buck Date: Thu, 30 Jun 2005 21:21:54 +0000 Subject: Allow template to be explicitly specified #1448 [tuxie@dekadance.se] git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@1575 5ecf4fe2-1ee6-0310-87b1-e25e094e27de --- actionmailer/lib/action_mailer/base.rb | 9 +++++---- 1 file changed, 5 insertions(+), 4 deletions(-) (limited to 'actionmailer/lib/action_mailer/base.rb') diff --git a/actionmailer/lib/action_mailer/base.rb b/actionmailer/lib/action_mailer/base.rb index a8880146af..919d92670f 100644 --- a/actionmailer/lib/action_mailer/base.rb +++ b/actionmailer/lib/action_mailer/base.rb @@ -143,7 +143,7 @@ module ActionMailer #:nodoc: cattr_accessor :default_content_type adv_attr_accessor :recipients, :subject, :body, :from, :sent_on, :headers, - :bcc, :cc, :charset, :content_type + :bcc, :cc, :charset, :content_type, :template attr_reader :mail @@ -161,6 +161,7 @@ module ActionMailer #:nodoc: @bcc = @cc = @from = @recipients = @sent_on = @subject = nil @charset = @@default_charset.dup @content_type = @@default_content_type.dup + @template = method_name @parts = [] @headers = {} @body = {} @@ -173,7 +174,7 @@ module ActionMailer #:nodoc: # which include the content-type in their file name (i.e., # "the_template_file.text.html.rhtml", etc.). if @parts.empty? - templates = Dir.glob("#{template_path}/#{method_name}.*") + templates = Dir.glob("#{template_path}/#{@template}.*") templates.each do |path| type = (File.basename(path).split(".")[1..-2] || []).join("/") next if type.empty? @@ -188,8 +189,8 @@ module ActionMailer #:nodoc: # normal template exists (or if there were no implicit parts) we render # it. template_exists = @parts.empty? - template_exists ||= Dir.glob("#{template_path}/#{method_name}.*").any? { |i| i.split(".").length == 2 } - @body = render_message(method_name, @body) if template_exists + template_exists ||= Dir.glob("#{template_path}/#{@template}.*").any? { |i| i.split(".").length == 2 } + @body = render_message(@template, @body) if template_exists # Finally, if there are other message parts and a textual body exists, # we shift it onto the front of the parts and set the body to nil (so -- cgit v1.2.3