1
0
Fork 0
mirror of https://github.com/rails/rails.git synced 2022-11-09 12:12:34 -05:00

render_to_string should have the identical signature as render

This commit is contained in:
wycats 2010-04-04 19:49:12 -07:00
parent 723e91e9fd
commit 209fb5190b
2 changed files with 18 additions and 9 deletions

View file

@ -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:

View file

@ -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