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 %>)");