diff options
author | wycats <wycats@gmail.com> | 2010-04-04 19:49:12 -0700 |
---|---|---|
committer | wycats <wycats@gmail.com> | 2010-04-04 19:58:15 -0700 |
commit | 209fb5190b1415633fcd42f7617ff5001669dd27 (patch) | |
tree | 57ef13a867e090a6b34eb7f10ffd027968b43ea5 /actionpack | |
parent | 723e91e9fd594856aa7bcd38b04d04acd03039be (diff) | |
download | rails-209fb5190b1415633fcd42f7617ff5001669dd27.tar.gz rails-209fb5190b1415633fcd42f7617ff5001669dd27.tar.bz2 rails-209fb5190b1415633fcd42f7617ff5001669dd27.zip |
render_to_string should have the identical signature as render
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/abstract_controller/rendering.rb | 17 | ||||
-rw-r--r-- | actionpack/test/abstract/abstract_controller_test.rb | 10 |
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 |