Vous pouvez faire ce que je l'ai fait dans mon Ajax gem for Rails qui consiste à envelopper la méthode _render_layout
:
ActionView::Base.class_eval do
def _render_layout_with_tracking(layout, locals, &block)
controller.instance_variable_set(:@_rendered_layout, layout)
_render_layout_without_tracking(layout, locals, &block)
end
alias_method_chain :_render_layout, :tracking
end
Ensuite, vous pouvez accéder à la valeur définie de votre point de vue (je suis sûr que vous avez accès à controll là-bas ...) ou dans votre contrôleur dans un after_filter
, ce que je fais.
J'ai écrit un custom RSpec 2 matcher qui peut être utilisé pour tester le rendu de mise en page dans Rails 3.
Cela est vrai dans le cas où vous ne rend pas manuellement une mise en page comme ceci: rendre: layout => 'application'. – xpepermint