Skip to content

Commit 3bbf3ac

Browse files
committed
Merge pull request #42244 from hahmed/fix-invalid-statement-compile-error
Fix invalid statement template compile error
1 parent 96a3611 commit 3bbf3ac

File tree

2 files changed

+24
-0
lines changed

2 files changed

+24
-0
lines changed

actionpack/lib/action_dispatch/middleware/templates/rescues/invalid_statement.text.erb

+1
Original file line numberDiff line numberDiff line change
@@ -6,6 +6,7 @@
66
<%= @exception.message %>
77
<% if defined?(ActiveStorage) && @exception.message.match?(%r{#{ActiveStorage::Blob.table_name}|#{ActiveStorage::Attachment.table_name}}) %>
88
To resolve this issue run: bin/rails active_storage:install
9+
<% end %>
910
<% if defined?(ActionMailbox) && @exception.message.match?(%r{#{ActionMailbox::InboundEmail.table_name}}) %>
1011
To resolve this issue run: bin/rails action_mailbox:install
1112
<% end %>

railties/test/application/middleware/exceptions_test.rb

+23
Original file line numberDiff line numberDiff line change
@@ -171,5 +171,28 @@ def index
171171
assert_equal 400, last_response.status
172172
assert_match "Invalid query parameters", last_response.body
173173
end
174+
175+
test "displays statement invalid template correctly" do
176+
controller :foo, <<-RUBY
177+
class FooController < ActionController::Base
178+
def index
179+
raise ActiveRecord::StatementInvalid
180+
end
181+
end
182+
RUBY
183+
app.config.action_dispatch.show_exceptions = true
184+
app.config.consider_all_requests_local = true
185+
app.config.action_dispatch.ignore_accept_header = false
186+
187+
get "/foo"
188+
assert_equal 500, last_response.status
189+
assert_match "<title>Action Controller: Exception caught</title>", last_response.body
190+
assert_match "ActiveRecord::StatementInvalid", last_response.body
191+
192+
get "/foo", {}, { "HTTP_ACCEPT" => "text/plain", "HTTP_X_REQUESTED_WITH" => "XMLHttpRequest" }
193+
assert_equal 500, last_response.status
194+
assert_equal "text/plain", last_response.media_type
195+
assert_match "ActiveRecord::StatementInvalid", last_response.body
196+
end
174197
end
175198
end

0 commit comments

Comments
 (0)