This project is archived and is in readonly mode.

Changeset [bfe58ac05d4b7ba5d5c04c3aa9a719e340b2111e] by Yehuda Katz

August 7th, 2009 @ 03:33 PM

Get all ActionController partial rendering to use ActionView's partial code. Consequences: * It is not possible to always pre-determine the layout before going to ActionView.

This was *already* broken for render :partial => @object, :layout => true. This is
now handled by overriding render_to_body in layouts.rb and manually injecting the
partial's response. This needs to be done in ActionController since ActionController
knows enough to get _layout_for_option. There is probably a better abstraction here.

  • As a result, all partial rendering can correctly restrict their layouts to the mime type of the rendered partial. This could have previously caused a bug in some edge cases.
  • If other layout-like options are added, they might need to add special code for the case of render :partial. We should try to think of an alternate solution, if possible, but this works for the cases we know of now. http://github.com/rails/rails/co...

Committed by Yehuda Katz

  • M actionpack/lib/abstract_controller/layouts.rb
  • M actionpack/lib/abstract_controller/renderer.rb
  • M actionpack/lib/action_controller/metal/renderer.rb
  • M actionpack/lib/action_view/render/partials.rb

Create your profile

Help contribute to this project by taking a few moments to create your personal profile. Create your profile »

<h2 style="font-size: 14px">Tickets have moved to Github</h2>

The new ticket tracker is available at <a href="https://github.com/rails/rails/issues">https://github.com/rails/rails/issues</a>