diff options
-rw-r--r-- | actionpack/lib/action_controller.rb | 1 | ||||
-rw-r--r-- | actionpack/lib/action_controller/base.rb | 1 | ||||
-rw-r--r-- | actionpack/lib/action_controller/metal/rendering.rb | 18 | ||||
-rw-r--r-- | actionview/lib/action_view/rendering.rb | 2 |
4 files changed, 20 insertions, 2 deletions
diff --git a/actionpack/lib/action_controller.rb b/actionpack/lib/action_controller.rb index d08e3c4e8e..0233937a25 100644 --- a/actionpack/lib/action_controller.rb +++ b/actionpack/lib/action_controller.rb @@ -13,6 +13,7 @@ module ActionController autoload :Middleware autoload_under "metal" do + autoload :BasicRendering, 'action_controller/metal/rendering' autoload :Compatibility autoload :ConditionalGet autoload :Cookies diff --git a/actionpack/lib/action_controller/base.rb b/actionpack/lib/action_controller/base.rb index 3fd5fb90d2..9941c06201 100644 --- a/actionpack/lib/action_controller/base.rb +++ b/actionpack/lib/action_controller/base.rb @@ -14,6 +14,7 @@ module ActionController # metal = Class.new(Metal) do include AbstractController::Rendering + include ActionController::BasicRendering end # Action Controllers are the core of a web request in \Rails. They are made up of one or more actions that are executed diff --git a/actionpack/lib/action_controller/metal/rendering.rb b/actionpack/lib/action_controller/metal/rendering.rb index abcc9d4acf..2d58e1440c 100644 --- a/actionpack/lib/action_controller/metal/rendering.rb +++ b/actionpack/lib/action_controller/metal/rendering.rb @@ -1,4 +1,22 @@ module ActionController + module BasicRendering + extend ActiveSupport::Concern + + # Render template to response_body + # :api: public + def render(*args, &block) + super(*args, &block) + text = args.first[:text] + if text.present? + self.response_body = text + end + end + + def rendered_format + Mime::TEXT + end + end + module Rendering extend ActiveSupport::Concern diff --git a/actionview/lib/action_view/rendering.rb b/actionview/lib/action_view/rendering.rb index 88a3de4a45..db9c4ef501 100644 --- a/actionview/lib/action_view/rendering.rb +++ b/actionview/lib/action_view/rendering.rb @@ -80,8 +80,6 @@ module ActionView # Render template to response_body # :api: public def render(*args, &block) - super(*args, &block) - options = _normalize_render(*args, &block) self.response_body = render_to_body(options) end |