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:
parent
723e91e9fd
commit
209fb5190b
2 changed files with 18 additions and 9 deletions
|
@ -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:
|
||||
|
|
|
@ -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
|
||||
|
|
Loading…
Reference in a new issue