diff options
-rw-r--r-- | actionpack/CHANGELOG | 2 | ||||
-rw-r--r-- | actionpack/lib/action_controller/layout.rb | 1 | ||||
-rw-r--r-- | actionpack/test/controller/new_render_test.rb | 11 | ||||
-rw-r--r-- | actionpack/test/fixtures/layouts/standard.rhtml | 2 |
4 files changed, 15 insertions, 1 deletions
diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index d1569931ee..402ec82f0c 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Fix that render :text didn't interpolate instance variables #2629, #2626 [skaes] + * Fix line number detection and escape RAILS_ROOT in backtrace Regexp [Nicholas Seckar] * Fixed document.getElementsByClassName from Prototype to be speedy again [Sam Stephenson] diff --git a/actionpack/lib/action_controller/layout.rb b/actionpack/lib/action_controller/layout.rb index 32f7864182..815a55739f 100644 --- a/actionpack/lib/action_controller/layout.rb +++ b/actionpack/lib/action_controller/layout.rb @@ -219,6 +219,7 @@ module ActionController #:nodoc: end erase_render_results + add_variables_to_assigns @template.instance_variable_set("@content_for_layout", content_for_layout) render_text(@template.render_file(layout, true), deprecated_status) else diff --git a/actionpack/test/controller/new_render_test.rb b/actionpack/test/controller/new_render_test.rb index 24c3a0e765..919875e8c3 100644 --- a/actionpack/test/controller/new_render_test.rb +++ b/actionpack/test/controller/new_render_test.rb @@ -34,6 +34,11 @@ class NewRenderTestController < ActionController::Base def render_text_hello_world render :text => "hello world" end + + def render_text_hello_world_with_layout + @variable_for_layout = ", I'm here!" + render :text => "hello world", :layout => true + end def render_custom_code render :text => "hello world", :status => "404 Moved" @@ -169,6 +174,7 @@ class NewRenderTestController < ActionController::Base case action_name when "hello_world", "layout_test", "rendering_without_layout", "rendering_nothing_on_layout", "render_text_hello_world", + "render_text_hello_world_with_layout", "partial_only", "partial_only_with_layout", "accessing_params_in_template", "accessing_params_in_template_with_layout", @@ -226,6 +232,11 @@ class NewRenderTest < Test::Unit::TestCase assert_equal "hello world", @response.body end + def test_do_with_render_text_and_layout + get :render_text_hello_world_with_layout + assert_equal "<html>hello world, I'm here!</html>", @response.body + end + def test_do_with_render_custom_code get :render_custom_code assert_response :missing diff --git a/actionpack/test/fixtures/layouts/standard.rhtml b/actionpack/test/fixtures/layouts/standard.rhtml index fcb28ec755..368764e6f4 100644 --- a/actionpack/test/fixtures/layouts/standard.rhtml +++ b/actionpack/test/fixtures/layouts/standard.rhtml @@ -1 +1 @@ -<html><%= @content_for_layout %></html>
\ No newline at end of file +<html><%= @content_for_layout %><%= @variable_for_layout %></html>
\ No newline at end of file |