Module | ActionController::Components::ClassMethods |
In: |
vendor/rails/actionpack/lib/action_controller/components.rb
|
Set the template root to be one directory behind the root dir of the controller. Examples:
/code/weblog/components/admin/users_controller.rb with Admin::UsersController will use /code/weblog/components as template root and find templates in /code/weblog/components/admin/users/ /code/weblog/components/admin/parties/users_controller.rb with Admin::Parties::UsersController will also use /code/weblog/components as template root and find templates in /code/weblog/components/admin/parties/users/
# File vendor/rails/actionpack/lib/action_controller/components.rb, line 77 77: def uses_component_template_root 78: path_of_calling_controller = File.dirname(caller[0].split(/:\d+:/, 2).first) 79: path_of_controller_root = path_of_calling_controller.sub(/#{Regexp.escape(File.dirname(controller_path))}$/, "") 80: 81: self.template_root = path_of_controller_root 82: end