如何覆盖Ruby/Sinatra中的默认内部服务器错误以显示erb文件
我想覆盖正常的sinatra内部服务器错误,以便它显示erb文件 到目前为止,我有:如何覆盖Ruby/Sinatra中的默认内部服务器错误以显示erb文件,ruby,error-handling,sinatra,internal-server-error,Ruby,Error Handling,Sinatra,Internal Server Error,我想覆盖正常的sinatra内部服务器错误,以便它显示erb文件 到目前为止,我有: set :show_exceptions, :after_handler error 400..510 do erb :error end 但它不起作用。。。有什么想法吗?这很可能是因为您在开发模式下运行它。不确定是否可以在那里抑制它。但由于大多数情况下,只需在生产中显示此错误页面,您只需将RACK_ENV设置为生产 例如,如果您像这样启动应用程序: bundle exec ruby app.rb 只需添
set :show_exceptions, :after_handler
error 400..510 do
erb :error
end
但它不起作用。。。有什么想法吗?这很可能是因为您在开发模式下运行它。不确定是否可以在那里抑制它。但由于大多数情况下,只需在生产中显示此错误页面,您只需将
RACK_ENV
设置为生产
例如,如果您像这样启动应用程序:
bundle exec ruby app.rb
只需添加RACK\u ENV
RACK_ENV=生产包exec ruby app.rb
大多数情况下,在生产服务器上,这是无论如何设置的,因此不需要显式设置