aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/partials.rb
diff options
context:
space:
mode:
authorRick Olson <technoweenie@gmail.com>2007-07-01 00:04:03 +0000
committerRick Olson <technoweenie@gmail.com>2007-07-01 00:04:03 +0000
commita450e769f1c7f5c68799f570856d020863528d17 (patch)
tree9a92e903be548ecb9728e4c26a0c29d9cd70c3c4 /actionpack/lib/action_view/partials.rb
parentd0ff4ec1936b6888ce199ef5131c3a2d866a968c (diff)
downloadrails-a450e769f1c7f5c68799f570856d020863528d17.tar.gz
rails-a450e769f1c7f5c68799f570856d020863528d17.tar.bz2
rails-a450e769f1c7f5c68799f570856d020863528d17.zip
Allow you to render views with periods in the name. Closes #8076 [norbert]
git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@7158 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
Diffstat (limited to 'actionpack/lib/action_view/partials.rb')
-rw-r--r--actionpack/lib/action_view/partials.rb14
1 files changed, 10 insertions, 4 deletions
diff --git a/actionpack/lib/action_view/partials.rb b/actionpack/lib/action_view/partials.rb
index 06e69bcccf..9da33d2ac8 100644
--- a/actionpack/lib/action_view/partials.rb
+++ b/actionpack/lib/action_view/partials.rb
@@ -110,12 +110,17 @@ module ActionView
end
def partial_counter_name(partial_name)
- "#{partial_name.split('/').last}_counter".intern
+ "#{partial_variable_name(partial_name)}_counter".intern
+ end
+
+ def partial_variable_name(partial_name)
+ partial_name.split('/').last.split('.').first.intern
end
def extracting_object(partial_name, local_assigns, deprecated_local_assigns)
+ variable_name = partial_variable_name(partial_name)
if local_assigns.is_a?(Hash) || local_assigns.nil?
- controller.instance_variable_get("@#{partial_name}")
+ controller.instance_variable_get("@#{variable_name}")
else
# deprecated form where object could be passed in as second parameter
local_assigns
@@ -132,12 +137,13 @@ module ActionView
end
def add_object_to_local_assigns!(partial_name, local_assigns, object)
- local_assigns[partial_name.intern] ||=
+ variable_name = partial_variable_name(partial_name)
+ local_assigns[variable_name] ||=
if object.is_a?(ActionView::Base::ObjectWrapper)
object.value
else
object
- end || controller.instance_variable_get("@#{partial_name}")
+ end || controller.instance_variable_get("@#{variable_name}")
end
end
end