aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorDavid Heinemeier Hansson <david@loudthinking.com>2016-02-10 17:41:34 +0100
committerDavid Heinemeier Hansson <david@loudthinking.com>2016-02-10 17:41:34 +0100
commitb07970883d87e310696b0e7d8653cfdfc5fd4e9c (patch)
tree57ae348ac46d333216b1e503ce9b9f4e9dd98ac1
parent437a7a406c408f106a6ae5d89a5d012106a74e39 (diff)
parent3f93888808442c014eab31ba31151daeafa76f1f (diff)
downloadrails-b07970883d87e310696b0e7d8653cfdfc5fd4e9c.tar.gz
rails-b07970883d87e310696b0e7d8653cfdfc5fd4e9c.tar.bz2
rails-b07970883d87e310696b0e7d8653cfdfc5fd4e9c.zip
Merge pull request #22772 from gsamokovarov/nack-template-error
Fix edge case with ActionView::Template::Error reraise
-rw-r--r--actionview/lib/action_view/template/error.rb4
1 files changed, 4 insertions, 0 deletions
diff --git a/actionview/lib/action_view/template/error.rb b/actionview/lib/action_view/template/error.rb
index b03b197cb5..ccee785d3e 100644
--- a/actionview/lib/action_view/template/error.rb
+++ b/actionview/lib/action_view/template/error.rb
@@ -59,6 +59,9 @@ module ActionView
class Error < ActionViewError #:nodoc:
SOURCE_CODE_RADIUS = 3
+ # Override to prevent #cause resetting during re-raise.
+ attr_reader :cause
+
def initialize(template, original_exception = nil)
if original_exception
ActiveSupport::Deprecation.warn("Passing #original_exception is deprecated and has no effect. " \
@@ -67,6 +70,7 @@ module ActionView
super($!.message)
set_backtrace($!.backtrace)
+ @cause = $!
@template, @sub_templates = template, nil
end