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