aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_controller/abstract/renderer.rb
diff options
context:
space:
mode:
Diffstat (limited to 'actionpack/lib/action_controller/abstract/renderer.rb')
-rw-r--r--actionpack/lib/action_controller/abstract/renderer.rb26
1 files changed, 20 insertions, 6 deletions
diff --git a/actionpack/lib/action_controller/abstract/renderer.rb b/actionpack/lib/action_controller/abstract/renderer.rb
index 7999bc1b70..dce411be92 100644
--- a/actionpack/lib/action_controller/abstract/renderer.rb
+++ b/actionpack/lib/action_controller/abstract/renderer.rb
@@ -1,21 +1,35 @@
+require "action_controller/abstract/logger"
+
module AbstractController
module Renderer
def self.included(klass)
- klass.extend ClassMethods
- klass.extlib_inheritable_accessor :view_paths
- klass.view_paths ||= ActionView::PathSet.new
+ klass.class_eval do
+ extend ClassMethods
+ attr_internal :formats
+
+ extlib_inheritable_accessor :view_paths
+ self.view_paths ||= ActionView::PathSet.new
+ include AbstractController::Logger
+ end
end
def _action_view
@_action_view ||= ActionView::Base.new(self.class.view_paths, {}, self)
end
- def render(template)
- tmp = view_paths.find_by_parts(template)
- self.response_body = _action_view._render_template_with_layout(tmp)
+ def _prefix
end
+ def render(template = action_name)
+ tmp = view_paths.find_by_parts(template.to_s, formats, _prefix)
+ self.response_body = _render_template(tmp)
+ end
+
+ def _render_template(tmp)
+ _action_view._render_template_with_layout(tmp)
+ end
+
module ClassMethods
def append_view_path(path)
self.view_paths << path