diff --git a/actionpack/CHANGELOG b/actionpack/CHANGELOG index 581668f19bc89c23a7247052853f0d88f82dd0c5..ec67d80fb2b7d8ec6bda88bfd2779fddb1fa2574 100644 --- a/actionpack/CHANGELOG +++ b/actionpack/CHANGELOG @@ -1,5 +1,7 @@ *SVN* +* Added that render_partial called from a controller will use the action name as default #828 [Dan Peterson] + * Added Element.toggle, Element.show, and Element.hide to the prototype javascript library. Toggle.display has been deprecated, but will still work #992 [Lucas Carlson] * Added that deleting a cookie should not just set it to an empty string but also instantly expire it #1118 [todd@robotcoop.com] diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index c8a012afda1eb73ff32a5fb032dd5e7799a588af..15724e2e36f9b9ac806e717141b8aa5a4e0085f9 100755 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -489,11 +489,19 @@ def render_to_string(template_name = default_template_name) #:doc: @template.render_file(template_name) end - def render_partial(partial_path, object = nil, local_assigns = {}) #:doc: + # Renders the partial specified by partial_path, which by default is the name of the action itself. Example: + # + # class WeblogController < ActionController::Base + # def show + # render_partial # renders "weblog/_show.r(xml|html)" + # end + # end + def render_partial(partial_path = default_template_name, object = nil, local_assigns = {}) #:doc: add_variables_to_assigns render_text(@template.render_partial(partial_path, object, local_assigns)) end + # Renders a collection of partials using partial_name to iterate over the +collection+. def render_partial_collection(partial_name, collection, partial_spacer_template = nil, local_assigns = {})#:doc: add_variables_to_assigns render_text(@template.render_collection_of_partials(partial_name, collection, partial_spacer_template, local_assigns)) diff --git a/actionpack/test/controller/render_test.rb b/actionpack/test/controller/render_test.rb index e471139d8ffe5e3577a99bf6008a8701ea5d8cff..fd3e08177a406a3ef3c97b1e6132d7583577d860 100644 --- a/actionpack/test/controller/render_test.rb +++ b/actionpack/test/controller/render_test.rb @@ -59,6 +59,10 @@ def partials_list render_action "list" end + def partial_only + render_partial + end + def hello_in_a_string @customers = [ Customer.new("david"), Customer.new("mary") ] render_text "How's there? #{render_to_string("test/list")}" @@ -181,6 +185,11 @@ def test_partials_list assert_equal "Hello: davidHello: mary", process_request.body end + def test_partial_only + @request.action = "partial_only" + assert_equal "only partial", process_request.body + end + def test_render_to_string @request.action = "hello_in_a_string" assert_equal "How's there? Hello: davidHello: mary", process_request.body diff --git a/actionpack/test/fixtures/test/_partial_only.rhtml b/actionpack/test/fixtures/test/_partial_only.rhtml new file mode 100644 index 0000000000000000000000000000000000000000..a44b3eed4059a3a0f1ea28d1cd126030e9d9f875 --- /dev/null +++ b/actionpack/test/fixtures/test/_partial_only.rhtml @@ -0,0 +1 @@ +only partial \ No newline at end of file