Ticket #8076: render_partial_with_format_extension_fix.diff
| File render_partial_with_format_extension_fix.diff, 2.3 kB (added by norbert, 3 years ago) |
|---|
-
actionpack/test/controller/render_test.rb
old new 135 135 def partial 136 136 render :partial => 'partial' 137 137 end 138 139 def partial_dot_html 140 render :partial => 'partial.html.erb' 141 end 138 142 139 143 def partial_as_rjs 140 144 render :update do |page| … … 393 397 assert_equal 'partial html', @response.body 394 398 end 395 399 400 def test_should_render_html_partial_with_dot 401 get :partial_dot_html 402 assert_equal 'partial html', @response.body 403 end 404 396 405 def test_should_render_html_formatted_partial_with_rjs 397 406 xhr :get, :partial_as_rjs 398 407 assert_equal %(Element.replace("foo", "partial html");), @response.body -
actionpack/lib/action_view/partials.rb
old new 110 110 end 111 111 112 112 def partial_counter_name(partial_name) 113 "#{partial_name.split('/').last}_counter".intern113 partial_variable_name("#{partial_name.split('/').last}_counter") 114 114 end 115 115 116 def partial_variable_name(partial_name) 117 partial_name.split('.').first.intern 118 end 119 116 120 def extracting_object(partial_name, local_assigns, deprecated_local_assigns) 121 variable_name = partial_variable_name(partial_name) 117 122 if local_assigns.is_a?(Hash) || local_assigns.nil? 118 controller.instance_variable_get("@#{ partial_name}")123 controller.instance_variable_get("@#{variable_name}") 119 124 else 120 125 # deprecated form where object could be passed in as second parameter 121 126 local_assigns … … 132 137 end 133 138 134 139 def add_object_to_local_assigns!(partial_name, local_assigns, object) 135 local_assigns[partial_name.intern] ||= 140 variable_name = partial_variable_name(partial_name) 141 local_assigns[variable_name] ||= 136 142 if object.is_a?(ActionView::Base::ObjectWrapper) 137 143 object.value 138 144 else 139 145 object 140 end || controller.instance_variable_get("@#{ partial_name}")146 end || controller.instance_variable_get("@#{variable_name}") 141 147 end 142 148 end 143 149 end