diff options
Diffstat (limited to 'actionpack')
-rw-r--r-- | actionpack/lib/action_controller/components.rb | 16 |
1 files changed, 8 insertions, 8 deletions
diff --git a/actionpack/lib/action_controller/components.rb b/actionpack/lib/action_controller/components.rb index c97111ca28..8bc0b5dd10 100644 --- a/actionpack/lib/action_controller/components.rb +++ b/actionpack/lib/action_controller/components.rb @@ -5,9 +5,9 @@ module ActionController #:nodoc: super base.helper do def render_component(options) - @controller.logger.info("Start rendering component (#{options.inspect}): ") - result = @controller.send(:component_response, options).body - @controller.logger.info("\n\nEnd of component rendering") + @controller.logger.info("Start rendering component (#{options.inspect}): ") unless @controller.logger.nil? + result = @controller.send(:component_response, options, false).body + @controller.logger.info("\n\nEnd of component rendering") unless @controller.logger.nil? return result end end @@ -15,15 +15,15 @@ module ActionController #:nodoc: protected def render_component(options = {}) #:doc: - response = component_response(options, true) - logger.info "Start rendering component (#{options.inspect}): " + response = component_response(options) + logger.info("Start rendering component (#{options.inspect}): ") unless logger.nil? result = render_text(response.body, response.headers["Status"]) - logger.info("\n\nEnd of component rendering") + logger.info("\n\nEnd of component rendering") unless logger.nil? return result end private - def component_response(options, reuse_response = false) + def component_response(options, reuse_response = true) component_class(options).process(request_for_component(options), reuse_response ? @response : response_for_component) end @@ -41,7 +41,7 @@ module ActionController #:nodoc: end def response_for_component - Marshal::load(Marshal::dump(@response)) + @response.dup end end end |