diff options
author | David Heinemeier Hansson <david@loudthinking.com> | 2005-10-28 07:33:54 +0000 |
---|---|---|
committer | David Heinemeier Hansson <david@loudthinking.com> | 2005-10-28 07:33:54 +0000 |
commit | cb0e27cee90c9417798c9d9db78dd0eb36c7fa24 (patch) | |
tree | 21283c9ada0b6d25a6f9f16b8ef3e22a2626f5d0 | |
parent | fb61912798de245f22929808c11d07c612480471 (diff) | |
download | rails-cb0e27cee90c9417798c9d9db78dd0eb36c7fa24.tar.gz rails-cb0e27cee90c9417798c9d9db78dd0eb36c7fa24.tar.bz2 rails-cb0e27cee90c9417798c9d9db78dd0eb36c7fa24.zip |
Fix that render :text didn't interpolate instance variables (Closes #2629, #2626) [skaes]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@2777 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
-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 |