Rails exception_handlerをインストールし、手順に従ってカスタム エラー処理をセットアップしようとしましたが、gem が作成する標準の 500 エラー メッセージが引き続き表示されます。
500内部サーバーエラー
あなたがこの Web サイトの管理者である場合は、この Web アプリケーションのログ ファイルや Web サーバーのログ ファイルを読んで、問題の原因を特定してください。
ここに私が追加したものがありconfig/application.rb
ます:
class Application < Rails::Application
config.exception_handler = {
dev: true,
layouts: {
'500' => 'exception'
}
}
end
で例外レイアウトを作成しましたlayouts/exception.html.erb
:
<!DOCTYPE html>
<html>
<head>
<title><%= "Error - #{@exception.status} Error" %></title>
</head>
<body>
<div class="container">
<%= yield %>
</div>
</body>
</html>
そして、デフォルトの例外ビューを次のように生成しました:rails generate exception_handler:views
<div class="error">
<% if /^(5[0-9]{2})$/ =~ @exception.status.to_s %>
<!--Message -->
<%= content_tag :div, class: "message" do %>
<%= content_tag :div, class: "title" do %>
<span><%= "#{@exception.status} Error - #{details[:name]}" %></span>
<%= link_to image_tag("exception_handler/close.png"), main_app.root_url, title: "Close (Go back home)", class: "close" %>
<% end %>
<%= content_tag :div, class: "details" do %>
<%= image_tag "exception_handler/alert.png", title: "#{@exception.status} Error" %>
<div class="status"><%= @exception.status %> Error</div>
<% end %>
<%= content_tag :div, class: "info" do %>
<span><%= details[:description] %></span>
<div class="notification">
<%= link_to image_tag("exception_handler/home.png", title: "Go Back Home"), main_app.root_url, class: "home" %>
<div class="version">v<%= Rails.version %></div>
<strong>Our developers have been notified - we're working on it!</strong>
</div>
<% end %>
<% end %>
<% else %>
<%= content_tag :div, details[:description], class: "message" %>
<% end %>
</div>
変更が有効になっていることを確認するためだけに Rails サーバーを再起動しようとしましたが、それでも機能しません。私は何を逃したのですか?