diff options
author | Louise Crow <louise.crow@gmail.com> | 2012-11-19 12:42:54 +0000 |
---|---|---|
committer | Louise Crow <louise.crow@gmail.com> | 2012-11-19 12:42:54 +0000 |
commit | 21f4341619ae1b076521e04f2124ef86fd2b7b5f (patch) | |
tree | aad56dd47a7c69ba576598ba0cb10a66bb653e72 /app/controllers/application_controller.rb | |
parent | 662e3399366327181afb3d45cedee5d18c6e3532 (diff) | |
parent | c99a26586018ff3603fc56ffe5b8cb0a853a97ea (diff) |
Merge remote-tracking branch 'openaustralia_github/style_error_pages_fix' into develop
Diffstat (limited to 'app/controllers/application_controller.rb')
-rw-r--r-- | app/controllers/application_controller.rb | 11 |
1 files changed, 4 insertions, 7 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb index 3f3c169ae..f9649c868 100644 --- a/app/controllers/application_controller.rb +++ b/app/controllers/application_controller.rb @@ -117,17 +117,14 @@ class ApplicationController < ActionController::Base # Override default error handler, for production sites. def rescue_action_in_public(exception) - # Call `set_view_paths` from the theme, if it exists. + # Looks for before_filters called something like `set_view_paths_{themename}`. These + # are set by the themes. # Normally, this is called by the theme itself in a # :before_filter, but when there's an error, this doesn't # happen. By calling it here, we can ensure error pages are # still styled according to the theme. - begin - set_view_paths - rescue NameError => e - if !(e.message =~ /undefined local variable or method `set_view_paths'/) - raise - end + ActionController::Base.before_filters.select{|f| f.to_s =~ /set_view_paths/}.each do |f| + self.send(f) end # Make sure expiry time for session is set (before_filters are # otherwise missed by this override) |