diff options
author | Jeremy Kemper <jeremy@bitsweat.net> | 2007-05-18 00:36:14 +0000 |
---|---|---|
committer | Jeremy Kemper <jeremy@bitsweat.net> | 2007-05-18 00:36:14 +0000 |
commit | 1ac7cd56fe4b49f0d30c96b2ec68abde8b05ee18 (patch) | |
tree | 9efe8a7754037e0782c8872f04f3703c6aa10f4f /actionpack/lib/action_view/partials.rb | |
parent | ebee0a742d40f87bb9b78d5d88393c341761cfad (diff) | |
download | rails-1ac7cd56fe4b49f0d30c96b2ec68abde8b05ee18.tar.gz rails-1ac7cd56fe4b49f0d30c96b2ec68abde8b05ee18.tar.bz2 rails-1ac7cd56fe4b49f0d30c96b2ec68abde8b05ee18.zip |
Clean up the simply_helpful merge.
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@6751 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/partials.rb')
-rw-r--r-- | actionpack/lib/action_view/partials.rb | 33 |
1 files changed, 24 insertions, 9 deletions
diff --git a/actionpack/lib/action_view/partials.rb b/actionpack/lib/action_view/partials.rb index 3d57574aaf..4d7e276255 100644 --- a/actionpack/lib/action_view/partials.rb +++ b/actionpack/lib/action_view/partials.rb @@ -48,19 +48,34 @@ module ActionView private # Deprecated, use render :partial def render_partial(partial_path, local_assigns = nil, deprecated_local_assigns = nil) #:nodoc: - path, partial_name = partial_pieces(partial_path) - object = extracting_object(partial_name, local_assigns, deprecated_local_assigns) - local_assigns = extract_local_assigns(local_assigns, deprecated_local_assigns) - local_assigns = local_assigns ? local_assigns.clone : {} - add_counter_to_local_assigns!(partial_name, local_assigns) - add_object_to_local_assigns!(partial_name, local_assigns, object) + case partial_path + when String, Symbol, NilClass + path, partial_name = partial_pieces(partial_path) + object = extracting_object(partial_name, local_assigns, deprecated_local_assigns) + local_assigns = extract_local_assigns(local_assigns, deprecated_local_assigns) + local_assigns = local_assigns ? local_assigns.clone : {} + add_counter_to_local_assigns!(partial_name, local_assigns) + add_object_to_local_assigns!(partial_name, local_assigns, object) - if logger - ActionController::Base.benchmark("Rendered #{path}/_#{partial_name}", Logger::DEBUG, false) do + if logger + ActionController::Base.benchmark("Rendered #{path}/_#{partial_name}", Logger::DEBUG, false) do + render("#{path}/_#{partial_name}", local_assigns) + end + else render("#{path}/_#{partial_name}", local_assigns) end + when Array + if partial_path.any? + path = ActionController::RecordIdentifier.partial_path(partial_path.first) + collection = partial_path + render_partial_collection(path, collection, nil, local_assigns.value) + else + "" + end else - render("#{path}/_#{partial_name}", local_assigns) + render_partial( + ActionController::RecordIdentifier.partial_path(partial_path), + local_assigns, deprecated_local_assigns) end end |