summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--app/controllers/application_controller.rb4
-rw-r--r--app/views/common/error.js.erb1
2 files changed, 5 insertions, 0 deletions
diff --git a/app/controllers/application_controller.rb b/app/controllers/application_controller.rb
index b297aa738..8060c9e96 100644
--- a/app/controllers/application_controller.rb
+++ b/app/controllers/application_controller.rb
@@ -431,6 +431,10 @@ class ApplicationController < ActionController::Base
format.html {
render :template => 'common/error', :layout => use_layout, :status => @status
}
+ format.js {
+ # Can't use an error status here, browsers wouldn't execute the JS response
+ render :template => 'common/error', :layout => false, :status => 200
+ }
format.any { head @status }
end
end
diff --git a/app/views/common/error.js.erb b/app/views/common/error.js.erb
new file mode 100644
index 000000000..81d377fe6
--- /dev/null
+++ b/app/views/common/error.js.erb
@@ -0,0 +1 @@
+alert("<%= raw escape_javascript @message %> (<%= raw escape_javascript @status.to_s %>)");