我已经创建了rails应用,并且我通过ErrorsController
制作了动态错误404/500页:
class ErrorsController < ApplicationController
def not_found
render status: 404
end
def internal_server_error
render status: 500
end
end
并将routes.rb
更改为:
Rails.application.routes.draw do
resources :books
root 'welcome#index'
match "/404", :to => "errors#not_found", :via => :all
match "/500", :to => "errors#internal_server_error", :via => :all
end
但每当我运行app时,会出现此错误:
Error during failsafe response: Missing template errors/200 with {:locale=>[:en], :formats=>[:css], :variants=>[], :handlers=>[:raw, :erb, :html, :builder, :ruby, :coffee, :jbuilder]}.
我只是在浏览器中看到internal_server_error.html.erb
怎么解决这个问题?
答案 0 :(得分:0)
检查您是否在config / application.rb中注释:
In [120]: df
Out[120]:
A B C D
A 1 7 5 4
B 1 1 1 1
C 1 0 1 9
D 0 2 3 4
此外,您还需要模板错误/ not_found.html.erb和errors / internal_server_error.html.erb
答案 1 :(得分:0)
此消息表示未找到页面200(无错误或确定)。您的应用程序正在尝试显示状态代码200的错误页面...
我要做的是创建一个errors/200.html.erb
并调试输出以查看发生了什么。如您所说,存在内部服务器错误。
你能粘贴你的日志文件(不是全部,只是因为这个错误)?