В некоторых случаях вы не можете предотвратить эту ошибку, так как существуют причины загрузки, такие как отсутствие кэша, неизвестный формат запроса и т. Д.
Вы можете попытаться ограничить количество предопределенных форматов, таких как:
get '/about-us' => 'controller#about', :format => /(?:|html|json)/
Тем не менее, я добавил следующий метод в мой файл application_controller.rb, чтобы из-за таких ошибок страница 404 отображалась с ошибкой, а на экране появлялось сообщение об ошибке
rescue_from ActionView::MissingTemplate, :with => :rescue_not_found
protected
def rescue_not_found
Rails.logger.warn "Redirect to 404, Error: ActionView::MissingTemplate"
redirect_to '/404' #or your 404 page
end
вы можете заключить этот код в оператор if, что-то вроде этого if Rails.env.production?
, учитывая, что env настроен так, что ваша среда разработки не будет затронута