aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--actionpack/CHANGELOG2
-rw-r--r--actionpack/lib/action_controller/layout.rb1
-rw-r--r--actionpack/test/controller/new_render_test.rb11
-rw-r--r--actionpack/test/fixtures/layouts/standard.rhtml2
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