uses_component_template_root looks at caller[0] which turns up the deprecation method rather than the controller. Use caller[1] instead.

git-svn-id: http://svn-commit.rubyonrails.org/rails/trunk@5631 5ecf4fe2-1ee6-0310-87b1-e25e094e27de
This commit is contained in:
Jeremy Kemper
2006-11-26 01:24:10 +00:00
parent 1d564d97c5
commit ba1db2de63
2 changed files with 3 additions and 2 deletions

View File

@@ -75,7 +75,7 @@ module ActionController #:nodoc:
# will also use /code/weblog/components as template root
# and find templates in /code/weblog/components/admin/parties/users/
def uses_component_template_root
path_of_calling_controller = File.dirname(caller[0].split(/:\d+:/, 2).first)
path_of_calling_controller = File.dirname(caller[1].split(/:\d+:/, 2).first)
path_of_controller_root = path_of_calling_controller.sub(/#{Regexp.escape(File.dirname(controller_path))}$/, "")
self.template_root = path_of_controller_root

View File

@@ -134,7 +134,8 @@ module A
class NestedController < ActionController::Base
# Stub for uses_component_template_root
def self.caller
['./test/fixtures/a/b/c/nested_controller.rb']
[ '/path/to/active_support/deprecation.rb:93:in `uses_component_template_root',
'./test/fixtures/a/b/c/nested_controller.rb' ]
end
end
end