Lighthouse has a new layout. Prefer the old one? Return to the old layout, and switch back any time from the link at the top of each page.

This project is archived and is in readonly mode.

Changeset [bfe58ac05d4b7ba5d5c04c3aa9a719e340b2111e] by Yehuda Katz

Revision bfe58ac05d4b7ba5d5c04c3aa9a719e340b2111e, committed 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...

4 changed files

  • 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