<?xml version="1.0" encoding="UTF-8"?>
<commit>
  <added type="array">
    <added>
      <filename>actionpack/test/fixtures/test/render_file_from_template.html.erb</filename>
    </added>
  </added>
  <modified type="array">
    <modified>
      <diff>@@ -530,7 +530,7 @@ module ActionMailer #:nodoc:
       end
 
       def render_message(method_name, body)
-        render :file =&gt; method_name, :body =&gt; body
+        render :file =&gt; method_name, :body =&gt; body, :use_full_path =&gt; true
       end
 
       def render(opts)
@@ -538,6 +538,7 @@ module ActionMailer #:nodoc:
         if opts[:file] &amp;&amp; opts[:file] !~ /\//
           opts[:file] = &quot;#{mailer_name}/#{opts[:file]}&quot;
         end
+        opts[:use_full_path] = true
         initialize_template_class(body).render(opts)
       end
 </diff>
      <filename>actionmailer/lib/action_mailer/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -253,6 +253,7 @@ If you are rendering a subtemplate, you must now use controller-like partial syn
       elsif options == :update
         update_page(&amp;block)
       elsif options.is_a?(Hash)
+        use_full_path = options[:use_full_path]
         options = options.reverse_merge(:locals =&gt; {}, :use_full_path =&gt; true)
 
         if partial_layout = options.delete(:layout)
@@ -266,7 +267,7 @@ If you are rendering a subtemplate, you must now use controller-like partial syn
             end
           end
         elsif options[:file]
-          render_file(options[:file], options[:use_full_path], options[:locals])
+          render_file(options[:file], use_full_path || false, options[:locals])
         elsif options[:partial] &amp;&amp; options[:collection]
           render_partial_collection(options[:partial], options[:collection], options[:spacer_template], options[:locals])
         elsif options[:partial]</diff>
      <filename>actionpack/lib/action_view/base.rb</filename>
    </modified>
    <modified>
      <diff>@@ -68,6 +68,11 @@ class NewRenderTestController &lt; ActionController::Base
     path = File.join(File.dirname(__FILE__), '../fixtures/test/render_file_with_ivar.erb')
     render :file =&gt; path
   end
+  
+  def render_file_from_template
+    @secret = 'in the sauce'
+    @path = File.expand_path(File.join(File.dirname(__FILE__), '../fixtures/test/render_file_with_ivar.erb'))
+  end
 
   def render_file_with_locals
     path = File.join(File.dirname(__FILE__), '../fixtures/test/render_file_with_locals.erb')
@@ -531,6 +536,11 @@ class NewRenderTest &lt; Test::Unit::TestCase
     get :render_file_with_locals
     assert_equal &quot;The secret is in the sauce\n&quot;, @response.body
   end
+  
+  def test_render_file_from_template
+    get :render_file_from_template
+    assert_equal &quot;The secret is in the sauce\n&quot;, @response.body
+  end
 
   def test_attempt_to_access_object_method
     assert_raises(ActionController::UnknownAction, &quot;No action responded to [clone]&quot;) { get :clone }</diff>
      <filename>actionpack/test/controller/new_render_test.rb</filename>
    </modified>
  </modified>
  <removed type="array"/>
  <parents type="array">
    <parent>
      <id>2e0765a00361781fb9bff2a7ca8996eab1f01bd4</id>
    </parent>
  </parents>
  <author>
    <name>Pratik Naik</name>
    <email>pratiknaik@gmail.com</email>
  </author>
  <url>http://github.com/zdennis/rails/commit/1dbfe9766e00282c56523f6969550494bbffbbf4</url>
  <id>1dbfe9766e00282c56523f6969550494bbffbbf4</id>
  <committed-date>2008-06-05T15:33:10-07:00</committed-date>
  <authored-date>2008-06-05T15:27:27-07:00</authored-date>
  <message>Ensure render :file works inside templates</message>
  <tree>b2946d0a07cc2ee4c6916db4e41fc24698d19ba1</tree>
  <committer>
    <name>Pratik Naik</name>
    <email>pratiknaik@gmail.com</email>
  </committer>
</commit>
