diff options
author | José Valim <jose.valim@gmail.com> | 2010-10-10 14:47:11 +0200 |
---|---|---|
committer | José Valim <jose.valim@gmail.com> | 2010-10-10 14:47:11 +0200 |
commit | 49b6f33f99a28d68f18203a696fb47854a9085d2 (patch) | |
tree | 4695f8b563d682ad3fb78d12ebfb547f378043eb /actionpack/lib/action_view/template.rb | |
parent | 11aa5157355d06ddbc9cad8fd0aa43a75ac8431e (diff) | |
download | rails-49b6f33f99a28d68f18203a696fb47854a9085d2.tar.gz rails-49b6f33f99a28d68f18203a696fb47854a9085d2.tar.bz2 rails-49b6f33f99a28d68f18203a696fb47854a9085d2.zip |
Clean up unused methods from AV::Base and pass in the template object on rendering.
Diffstat (limited to 'actionpack/lib/action_view/template.rb')
-rw-r--r-- | actionpack/lib/action_view/template.rb | 7 |
1 files changed, 5 insertions, 2 deletions
diff --git a/actionpack/lib/action_view/template.rb b/actionpack/lib/action_view/template.rb index 5c3e0e899b..7dd8acf37b 100644 --- a/actionpack/lib/action_view/template.rb +++ b/actionpack/lib/action_view/template.rb @@ -133,12 +133,15 @@ module ActionView # we use a bang in this instrumentation because you don't want to # consume this in production. This is only slow if it's being listened to. def render(view, locals, &block) + old_template, view._template = view._template, self ActiveSupport::Notifications.instrument("!render_template.action_view", :virtual_path => @virtual_path) do compile!(view) view.send(method_name, locals, &block) end rescue Exception => e handle_render_error(view, e) + ensure + view._template = old_template end def mime_type @@ -272,9 +275,9 @@ module ActionView # encoding of the code source = <<-end_src def #{method_name}(local_assigns) - _old_virtual_path, @_virtual_path = @_virtual_path, #{@virtual_path.inspect};_old_output_buffer = @output_buffer;#{locals_code};#{code} + _old_output_buffer = @output_buffer;#{locals_code};#{code} ensure - @_virtual_path, @output_buffer = _old_virtual_path, _old_output_buffer + @output_buffer = _old_output_buffer end end_src |