Отсутствует ошибка шаблона - при наличии макета

По какой-то причине я не могу понять, почему я продолжаю получать эту ошибку. На свежем журнале он отображается 8 раз, что очень странно.

Я запускаю WEBrick в производственной среде, которую я настроил локально. Но я получаю ту же ошибку в моей реальной производственной среде, работающей под управлением Puma на AWS.

ruby 2.1.4p265
rails 4.2.7.1

трассировки стека

Error during failsafe response: Missing template errors/internal_server_error, 
application/internal_server_error with {:locale=>[:en], :formats=>[:png], :variants=>[], :handlers=>[:erb, :builder, :raw, :ruby]}. Searched in:
  * "~/Rails/ReturnLabel/return_label/app/views"
  * "~/.rvm/gems/ruby-2.1.4@return_disposition/gems/devise-3.5.5/app/views"

приложение / просмотров / ошибки

$ ls app/views/errors/
./                              _error.html.erb                 internal_server_error.html.erb  no_label.html.erb               unsupported_country.html.erb
../                             expired_order.html.erb          invalid.html.erb                not_found.html.erb

errors_controller.rb

class ErrorsController < ApplicationController
  def expired_order
    @error = :expired_order
    render(status: 503)
  end
  def unsupported_country
    @error = :unsupported_country
    render(status: 503)
  end
  def invalid
    @error = :invalid
    render(status: 400)
  end
  def not_found
    @error = :not_found
    render(status: 404)
  end
  def internal_server_error
    @error = :internal_server_error
    render(status: 500)
  end
  def no_label
    @error = :no_label
    render(status: 503)
  end
end

routes.rb

 match '/404', to: 'errors#not_found', as: 'not_found', via: :all
 match '/500', to: 'errors#internal_server_error', as: 'internal_server_error', via: :all
 match '/unsupported_country', to: 'errors#unsupported_country', via: :all
 match '/expired_order', to: 'errors#expired_order', via: :all
 match '/invalid', to: 'errors#invalid', via: :all
 match '/no_label', to: 'errors#no_label', via: :all
 ...
 # END OF FILE
 match '*path', to: 'errors#not_found', via: :all

Посмотреть код

internal_server_error.html.erb

<header class="header-span-single-line styled">
  <div class="text-center animated shake">
    <span><%= t('error.header.title') %></span>
    <br>
  </div>
</header>
<div class="container animated bounceInUp">
  <div class="jumbotron">
    <div class="container">
      <%= render 'error' %>
    </div>
  </div>
</div>

_error.html.erb

<% error_text = t("error.#{@error}") %>
<h1><%= error_text[:title] %></h1>
<p class="text-white"><%= error_text[:body] %></p>
<hr/>
<p><strong><%= t('error.contact.title') %></strong></p>
<ul class="list-padding">
  <li class="list-unstyled">
    <p class="cs-p"><%= t('error.contact.phone') %></p>
  </li>
  <li class="list-unstyled">
    <p class="cs-p"><%= t('error.contact.email.title') %>
      <a class="branded-link branded-link-dark" target="_blank" href="<%= t('error.contact.email.href') %>"><%= t('error.contact.email.value') %></a>
    </p>
  </li>
</ul>
<%= link_to t('error.button'), :root, :class => 'btn btn-warning btn-lg btn-dark' %>

Не уверен, что еще здесь делать. Что мне не хватает?

1 ответ

Похоже, что вы получаете 500 ошибок при получении изображения PNG. Таким образом, ваше приложение пытается перенаправить на ваш internal_server_error действие, но он не может найти internal_server_error.png файл.

Поиск ваших взглядов для устаревших img теги или image_tag звонки, и ваш CSS для url() с изображениями PNG, и удалите или обновите их.

Другие вопросы по тегам