如何覆盖Ruby/Sinatra中的默认内部服务器错误以显示ERB文件



我想覆盖普通的sinatra内部服务器错误,以便它显示一个ERB文件。

到目前为止,我有这个:

set :show_exceptions, :after_handler
error 400..510 do
  erb :error
end

但是它行不通...有什么想法?

这很可能是因为您在开发模式下运行它。不知道您是否可以在那里抑制它。但是,由于大多数时候,在生产中显示此错误页面非常重要,因此您只需将RACK_ENV设置为生产。

例如,如果您这样启动应用程序:

捆绑exec ruby app.rb

只需添加RACK_ENV

rack_env =生产捆绑exec ruby app.rb

大多数时候在生产服务器上都设置了这一点,因此无需明确设置它。

最新更新