aboutsummaryrefslogtreecommitdiffstats
path: root/actionpack/lib/action_view/template.rb
diff options
context:
space:
mode:
authorJosé Valim <jose.valim@gmail.com>2010-10-10 14:47:11 +0200
committerJosé Valim <jose.valim@gmail.com>2010-10-10 14:47:11 +0200
commit49b6f33f99a28d68f18203a696fb47854a9085d2 (patch)
tree4695f8b563d682ad3fb78d12ebfb547f378043eb /actionpack/lib/action_view/template.rb
parent11aa5157355d06ddbc9cad8fd0aa43a75ac8431e (diff)
downloadrails-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.rb7
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