@@ -21,9 +21,10 @@ def render(controller_instance, page_class, options)
2121 render_matestack_object ( controller_instance , page_instance )
2222 elsif ( params [ :component_key ] . present? && params [ :component_class ] . blank? )
2323 # async component rerendering from non isolated context
24+ app_instance = app_class . new ( page_class , controller_instance , context )
2425 component_key = params [ :component_key ]
2526 page_instance = page_class . new ( controller_instance : controller_instance , context : context )
26- render_component ( component_key , page_instance , controller_instance , context )
27+ render_component ( component_key , app_instance , controller_instance , context )
2728 elsif ( params [ :component_class ] . present? && params [ :component_key ] . blank? )
2829 # isolated component rendering
2930 component_class = params [ :component_class ]
@@ -75,15 +76,15 @@ def render_matestack_object(controller_instance, object, opts = {}, render_metho
7576 controller_instance . render rendering_options
7677 end
7778
78- def render_component ( component_key , page_instance , controller_instance , context )
79+ def render_component ( component_key , app_or_page_instance , controller_instance , context )
7980 matched_component = nil
8081
81- page_instance . matestack_set_skip_defer ( false )
82+ app_or_page_instance . matestack_set_skip_defer ( false )
8283
83- page_instance . prepare
84- page_instance . response
84+ app_or_page_instance . prepare
85+ app_or_page_instance . response
8586
86- matched_component = dig_for_component ( component_key , page_instance )
87+ matched_component = dig_for_component ( component_key , app_or_page_instance )
8788
8889 unless matched_component . nil?
8990 render_matestack_object ( controller_instance , matched_component , { } , :render_content )
0 commit comments