aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorwycats <wycats@gmail.com>2010-04-04 19:49:12 -0700
committerwycats <wycats@gmail.com>2010-04-04 19:58:15 -0700
commit209fb5190b1415633fcd42f7617ff5001669dd27 (patch)
tree57ef13a867e090a6b34eb7f10ffd027968b43ea5
parent723e91e9fd594856aa7bcd38b04d04acd03039be (diff)
downloadrails-209fb5190b1415633fcd42f7617ff5001669dd27.tar.gz
rails-209fb5190b1415633fcd42f7617ff5001669dd27.tar.bz2
rails-209fb5190b1415633fcd42f7617ff5001669dd27.zip
render_to_string should have the identical signature as render
-rw-r--r--actionpack/lib/abstract_controller/rendering.rb17
-rw-r--r--actionpack/test/abstract/abstract_controller_test.rb10
2 files changed, 18 insertions, 9 deletions
diff --git a/actionpack/lib/abstract_controller/rendering.rb b/actionpack/lib/abstract_controller/rendering.rb
index b251bd6405..98c8c5fa67 100644
--- a/actionpack/lib/abstract_controller/rendering.rb
+++ b/actionpack/lib/abstract_controller/rendering.rb
@@ -89,9 +89,16 @@ module AbstractController
# Normalize arguments, options and then delegates render_to_body and
# sticks the result in self.response_body.
def render(*args, &block)
+ self.response_body = render_to_string(*args, &block)
+ end
+
+ # Raw rendering of a template to a string. Just convert the results of
+ # render_to_body into a String.
+ # :api: plugin
+ def render_to_string(*args, &block)
options = _normalize_args(*args, &block)
_normalize_options(options)
- self.response_body = render_to_body(options)
+ render_to_body(options)
end
# Raw rendering of a template to a Rack-compatible body.
@@ -101,14 +108,6 @@ module AbstractController
_render_template(options)
end
- # Raw rendering of a template to a string. Just convert the results of
- # render_to_body into a String.
- # :api: plugin
- def render_to_string(options={})
- _normalize_options(options)
- render_to_body(options)
- end
-
# Find and renders a template based on the options given.
# :api: private
def _render_template(options) #:nodoc:
diff --git a/actionpack/test/abstract/abstract_controller_test.rb b/actionpack/test/abstract/abstract_controller_test.rb
index f70d497481..5a0a2aef10 100644
--- a/actionpack/test/abstract/abstract_controller_test.rb
+++ b/actionpack/test/abstract/abstract_controller_test.rb
@@ -49,6 +49,11 @@ module AbstractController
render "index.erb"
end
+
+ def index_to_string
+ self.response_body = render_to_string "index.erb"
+ end
+
def action_with_ivars
@my_ivar = "Hello"
render "action_with_ivars.erb"
@@ -77,6 +82,11 @@ module AbstractController
assert_equal "Hello from index.erb", @controller.response_body
end
+ test "render_to_string works with a String as an argument" do
+ @controller.process(:index_to_string)
+ assert_equal "Hello from index.erb", @controller.response_body
+ end
+
test "rendering passes ivars to the view" do
@controller.process(:action_with_ivars)
assert_equal "Hello from index_with_ivars.erb", @controller.response_body