From e199d3f4ab16f77e0e45e0bc661b73d6b8654a9d Mon Sep 17 00:00:00 2001 From: Robert Mosolgo Date: Wed, 12 Apr 2017 10:59:05 -0400 Subject: [PATCH] fix(ComponentMount) move the console replay tag outside the rails mount container if it's present --- lib/react/rails/component_mount.rb | 10 +++++++++- lib/react/server_rendering.rb | 2 ++ .../server_rendering/bundle_renderer/console_replay.js | 2 +- test/dummy/app/javascript/components/TodoList.js | 1 + test/dummy/config/application.rb | 4 ++++ test/react/server_rendering/bundle_renderer_test.rb | 2 +- 6 files changed, 18 insertions(+), 3 deletions(-) diff --git a/lib/react/rails/component_mount.rb b/lib/react/rails/component_mount.rb index 9d5faddb3..c09336473 100644 --- a/lib/react/rails/component_mount.rb +++ b/lib/react/rails/component_mount.rb @@ -46,7 +46,15 @@ def react_component(name, props = {}, options = {}, &block) # remove internally used properties so they aren't rendered to DOM html_options.except!(:tag, :prerender, :camelize_props) - content_tag(html_tag, '', html_options, &block) + rendered_tag = content_tag(html_tag, '', html_options, &block) + if React::ServerRendering.renderer_options[:replay_console] + # Grab the server-rendered console replay script + # and move it _outside_ the container div + rendered_tag.sub!(/\n(